Pandas: 조건에 따라 열을 선택하는 방법
다음 방법을 사용하여 조건에 따라 Pandas DataFrame의 열을 선택할 수 있습니다.
방법 1: 조건을 충족하는 행이 하나 이상 포함된 열 선택
#select columns where at least one row has a value greater than 2
df. loc [:, (df > 2 ). any ()]
방법 2: 모든 행이 조건을 충족하는 열 선택
#select columns where all rows have a value greater than 2
df. loc [:, (df > 2 ). all ()]
방법 3: 여러 조건을 충족하는 행이 하나 이상 포함된 열 선택
#select columns where at least one row has a value between 10 and 15
df. loc [:, ((df>= 10 ) & (df<= 15 )). any ()]
다음 예에서는 다음 Pandas DataFrame에서 각 메서드를 사용하는 방법을 보여줍니다.
import pandas as pd #createDataFrame df = pd. DataFrame ({' apples ': [7, 3, 3, 4, 3], ' oranges ': [2, 0, 2, 0, 1], ' bananas ': [5, 0, 4, 0, 12]}, index=[' Farm1 ',' Farm2 ',' Farm3 ',' Farm4 ',' Farm5 ']) #view DataFrame print (df) apples oranges bananas Farm1 7 2 5 Farm2 3 0 0 Farm3 3 2 4 Farm4 4 0 0 Farm5 3 1 12
예 1: 하나 이상의 행이 조건을 충족하는 열 선택
다음 코드를 사용하여 열의 하나 이상의 행이 2보다 큰 값을 갖는 DataFrame에서 열을 선택할 수 있습니다.
#select columns where at least one row has a value greater than 2
df. loc [:, (df > 2 ). any ()]
apples bananas
Farm1 7 5
Farm2 3 0
Farm3 3 4
Farm4 0 0
Farm5 3 12
사과 및 바나나 열은 둘 다 반환됩니다. 이러한 열에는 값이 2보다 큰 행이 하나 이상 있기 때문입니다.
예시 2: 모든 행이 조건을 충족하는 열 선택
다음 코드를 사용하여 열의 각 행이 2보다 큰 값을 갖는 DataFrame에서 열을 선택할 수 있습니다.
#select columns where every row has a value greater than 2
df. loc [:, (df > 2 ). all ()]
apples
Farm1 7
Farm2 3
Farm3 3
Farm4 4
Farm5 3
사과 열만 반환됩니다. 이는 열의 각 행이 2보다 큰 값을 갖는 유일한 열이기 때문입니다.
예 3: 하나 이상의 행이 여러 조건을 충족하는 열 선택
다음 코드를 사용하여 열의 하나 이상의 행이 10에서 15 사이의 값을 갖는 DataFrame에서 열을 선택할 수 있습니다.
#select columns where every row has a value greater than 2
df. loc [:, ((df>= 10 ) & (df<= 15 )). any ()]
bananas
Farm1 5
Farm2 0
Farm3 4
Farm4 0
Farm5 12
바나나 열만 반환됩니다. 이는 열의 하나 이상의 행에 10에서 15 사이의 값이 있는 유일한 열이기 때문입니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
Pandas에서 이름으로 열을 선택하는 방법
Pandas에서 인덱스로 열을 선택하는 방법
Pandas에서 특정 문자열이 포함된 열을 선택하는 방법