Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

정규식으로 Pandas의 행을 필터링하는 방법은 무엇입니까?

<시간/>

정규식(regex)은 검색 패턴을 정의하는 일련의 문자입니다. Pandas의 행을 정규식으로 필터링하려면 str.match()를 사용할 수 있습니다. 방법.

단계

  • 크기가 변경 가능한 2차원 테이블 형식 데이터 df 생성 .
  • 입력 DataFrame, df 인쇄 .
  • 변수 정규식 초기화 표현을 위해. 문자열 값을 정규식으로 제공하십시오(예:문자열 'J.*'). 'J'로 시작하는 모든 항목을 필터링합니다.
  • df.column_name.str.match(regex) 사용 제공된 정규식으로 지정된 열 이름의 모든 항목을 필터링합니다.

예시

import pandas as pd

df = pd.DataFrame(
   dict(
      name=['John', 'Jacob', 'Tom', 'Tim', 'Ally'],
      marks=[89, 23, 100, 56, 90],
      subjects=["Math", "Physics", "Chemistry", "Biology", "English"]
   )
)

print "Input DataFrame is:\n", df

regex = 'J.*'
print "After applying ", regex, " DataFrame is:\n", df[df.name.str.match(regex)]

regex = 'A.*'
print "After applying ", regex, " DataFrame is:\n", df[df.name.str.match(regex)]

출력

Input DataFrame is:

     name    marks   subjects
0    John     89        Math
1   Jacob     23     Physics
2     Tom    100   Chemistry
3     Tim     56     Biology
4    Ally     90     English

After applying J.* DataFrame is:

    name   marks   subjects
0   John     89        Math
1  Jacob     23     Physics

After applying A.* DataFrame is:

    name   marks   subjects
4   Ally     90     English