여러 조건으로 Pandas DataFrame 필터링
Suraj Joshi
2023년1월30일
이 자습서에서는 여러 조건에 따라 DataFrame에서 항목을 필터링하는 방법을 설명합니다.
이 기사에서는 아래 DataFrame을 사용합니다.
import pandas as pd
stocks_df = pd.DataFrame(
{
"Stock": ["Tesla", "Moderna Inc", "Facebook", "Boeing"],
"Price": [835, 112, 267, 209],
"Sector": ["Technology", "Health Technology", "Technology", "Aircraft"],
}
)
print(stocks_df)
출력:
Stock Price Sector
0 Tesla 835 Technology
1 Moderna Inc 112 Health Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
인덱싱을 사용하여 여러 조건을 기반으로 DataFrame의 항목 필터링
import pandas as pd
stocks_df = pd.DataFrame(
{
"Stock": ["Tesla", "Moderna Inc", "Facebook", "Boeing"],
"Price": [835, 112, 267, 209],
"Sector": ["Technology", "Health Technology", "Technology", "Aircraft"],
}
)
print("Stocks DataFrame:")
print(stocks_df, "\n")
reqd_stocks = stocks_df[(stocks_df.Sector == "Technology") & (stocks_df.Price < 500)]
print("The stocks of technology sector with price less than 500 are:")
print(reqd_stocks)
출력:
Stocks DataFrame:
Stock Price Sector
0 Tesla 835 Technology
1 Moderna Inc 112 Health Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
The stocks of technology sector with price less than 500 are:
Stock Price Sector
2 Facebook 267 Technology
Sector
열의 값이 Technology
이고 Price
열의 값이 500 미만인 stocks_df
의 모든 항목을 필터링합니다.
여러 조건을 기반으로 값을 인덱싱하기 위해&
또는|
연산자를 사용하여 조건을 연결하는[]
내부에 조건을 지정합니다. &
연산자는 논리and
를 나타내며 항목을 선택하려면 두 조건이 모두 참이어야합니다. |
연산자는 항목을 선택하기위한 조건이 충족되는지를 의미하는 논리or
를 나타냅니다.
query()
메서드를 사용하여 여러 조건을 기반으로 데이터 프레임의 항목 필터링
&
또는|
연산자로 연결된 여러 조건을query()
메서드에 인수로 전달합니다.
import pandas as pd
stocks_df = pd.DataFrame(
{
"Stock": ["Tesla", "Moderna Inc", "Facebook", "Boeing"],
"Price": [835, 112, 267, 209],
"Sector": ["Technology", "Health Technology", "Technology", "Aircraft"],
}
)
print("Stocks DataFrame:")
print(stocks_df, "\n")
reqd_stocks = stocks_df.query("Sector == 'Technology' & Price <500")
print("The stocks of technology sector with price less than 500 are:")
print(reqd_stocks)
출력:
Stocks DataFrame:
Stock Price Sector
0 Tesla 835 Technology
1 Moderna Inc 112 Health Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
The stocks of technology sector with price less than 500 are:
Stock Price Sector
2 Facebook 267 Technology
작가: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn