취미가 좋다

[pandas] 5. 행과 열을 선택하고 필터링하기 본문

Data Engineer/pandas

[pandas] 5. 행과 열을 선택하고 필터링하기

benlee73 2021. 9. 8. 12:19

인덱스로 행과 열을 선택하기

리스트처럼 인덱스 슬라이싱으로 데이터를 뽑을 수 있다.

반환만 하므로 변경까지 원한다면 df = df[1:3] 을 해야한다.

df[1:3]

원하는 데이터의 인덱스를 직접 입력할 수도 있다.

df.loc[[0,2]]

열에 조건을 주어 행을 필터링하기

대괄호 [ ] 안에 조건을 넣거나, query 함수의 인자로 조건을 넣을 수 있다.

둘 다 같은 결과를 가져온다.

df[df.age > 25]
df.query('age > 25')

여러 조건을 추가할 수도 있다.

df[ (df.age>25) & (df.name=='Nate') ]

행에 조건을 주어 열을 필터링하기

인덱스를 이용해서 열을 필터링할 수 있다.

iloc 의 첫 인자는 행을 의미하고 두 번째 인자는 열을 의미한다.

그래서 아래는 행은 모두 가져오고 열은 0부터 1까지 가져오는 것을 의미한다.

df.iloc[:,0:2]

헤더가 숫자가 아닐 때는 원하는 열의 이름을 통해서 필터링할 수 있다.

df[['name','age']]
df.filter(items=['name','age'])

filter라는 함수는 더 디테일하게 필터링할 수 있다.

axis=1 은 행을 의미하고, like를 통해 행에 'a'가 들어간 것을 필터링한다.

regex라는 인자로 정규식을 줄 수도 있다. 'b$'라고 하면 b로 끝나는 것들을 필터링한다.

df.filter(like='a',axis=1)
df.filter(regex='b$',axis=1)


https://youtu.be/vcjoWVAwFBc

 

[Pandas 강의] 데이터프레임 행, 열 (row, column) 선택 및 필터 하기

아래 링크의 주피터노트북으로 직접 실습하세요. https://github.com/minsuk-heo/pandas/blob/master/Pandas_Cheatsheet.ipynb 이번 비디오에서는 팬더스의 행과 열을 선택하고 필터하는 방법에 대해서 알아봅니다.

youtu.be

 

Comments