<Python>/[DataFrame]

파이썬 Pandas DataFrame .any vs .all

9566 2023. 3. 8. 15:32
728x90
 

Pandas DataFrame에서 특정 조건에 해당하는 행을 가져오는 방법으로, pd.DataFrame.any(axis=1)와 pd.DataFrame.all(axis=1)을 사용할 수 있습니다.

(1) pd.DataFrame.any(axis=1)은 DataFrame의 각 행에서 적어도 하나의 칼럼 값이 True인 행을 가져옵니다.

예를 들어, 다음과 같은 DataFrame이 있다고 가정해봅시다.

   A      B      C      D
0  False  True   False  False
1  True   False  False  False
2  False  False  True   False
3  False  False  False  False

any(axis=1)을 사용하여 B 칼럼이 True인 행을 가져올 수 있습니다.

df[df['B'].any(axis=1)]

결과는 다음과 같습니다.

   A      B      C      D
0  False  True   False  False
1  True   False  False  False

 

(2) pd.DataFrame.all(axis=1)은 DataFrame의 각 행에서 모든 칼럼 값이 True인 행을 가져옵니다.

다시 위의 DataFrame을 이용하여 all(axis=1)을 사용하여 B 칼럼과 C 칼럼이 True인 행을 가져올 수 있습니다.

df[df[['B', 'C']].all(axis=1)]

결과는 다음과 같습니다.

   A      B      C      D
2  False  False  True   False

위와 같이 any와 all 메서드를 이용하여 DataFrame에서 특정 조건을 만족하는 행을 가져올 수 있습니다.

728x90