반응형
판다스에서 DataFrame에서 특정 Column에 조건을 넣는 가장 쉬운 방법은 다음과 같다.
df1 = df[(df.a != -1)]
뜻은 df의 a열에 조건을 넣은 경우이다. 다음의 경우와 동치이다.
df1 = df[(df['a'] != -1)]
원리는 (df['a'] != -1)가 해당 조건에 맞는 index의 true, false를 ndarray형으로 리턴하는 방식이다. 따라서 다중 조건을 넣는 것은 다음과 같이 응용할 수 있다.
df1 = df[(condition1) &
(condition1)]
파이썬의 if문에서 and를 사용하는 것과 다르다는 것에 유의하자.
이번에는 파이썬에서 특정 Column만 부르는 것을 살펴보자.
사실 이미 위의 예제들에서 사용하고 있었는데 df.a 또는 df['a']와 같이 한다, 여러 열을 부를 경우, df[['a','b']]와 같이 부르면 된다.
그렇다면 이 두가지를 동시에 사용하기 위해서는 어떻게 해야 할까......?
loc를 이용한 방법과 query를 이용한 방법이 있다.
1안) using loc
df.loc[df.C==1, ['B','C']]
2안) using query
df[['B','C']].query('C == 1')
오늘은 여기까지 끄읕~!
[출처]
https://stackoverflow.com/questions/34964534/display-two-columns-with-a-condition-in-pandas
반응형
'Programing Language > Python' 카테고리의 다른 글
list와 array의 메모리 효율성 (0) | 2018.06.19 |
---|---|
json data 저장시 numpy array 저장하는 법 (0) | 2018.05.29 |
Pandas에서 dataframe 메모리 초기화하기..! (0) | 2018.04.18 |
if-else 구문 vs try-except 구문 (0) | 2018.04.06 |
파이썬을 이용한 CDF, PDF 그리기 (편집중) (0) | 2017.09.06 |