Pandas: column 조건 여러개로 데이터 찾기

daeungdaeung·2021년 7월 12일
0

Column에 조건 여러개 주고 싶을 때

데이터에서

  • SalePrice < 200000

  • GrLivArea > 4000

위의 두가지를 모두 만족하는 경우를 구하고자할 때

df2 = df[df['SalePrice']<200000][df['GrLivArea']>4000]['GrLivArea']

위와 같은 방법을 사용하게되면 다음과 같은 warning 이 발생합니다. (동작은 하는데 warning 문구 출력)

warning: /opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:29: UserWarning: Boolean Series key will be reindexed to match DataFrame index.

이유는 링크에서 확인할 수 있었고, 제가 이해한 내용은 아래와 같습니다.

  • 첫번째 조건에 의해서 데이터의 length가 변형

  • 데이터 변형이 일어 났으므로, 두번째 조건에서 제대로 작동하지 않을 수 있음

저의 경우 결과를 확인해봤을 때 정상작동이지만 해당 방법은 사용하지 않는 것이 좋다고 합니다.

아래와 같이 실행하면 warning 없이 원하는 결과를 취할 수 있습니다.

df2 = df[df['SalePrice]<200000]
df3 = df2[df2['GrLivArea']>4000]
profile
개발자가 되고싶읍니다...

0개의 댓글