Filtra Pandas DataFrame con più condizioni
- Filtrare le voci di un DataFrame in base a più condizioni utilizzando l’indicizzazione
-
Filtrare le voci di un DataFrame in base a più condizioni utilizzando il metodo
query()
Questo tutorial spiega come filtrare le voci da un DataFrame in base a più condizioni.
Useremo il DataFrame di seguito in questo articolo.
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)
Produzione:
Stock Price Sector
0 Tesla 835 Technology
1 Moderna Inc 112 Health Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
Filtrare le voci di un DataFrame in base a più condizioni utilizzando l’indicizzazione
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)
Produzione:
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
Filtra tutte le voci della colonna stock_df
, il cui valore della colonna Sector
è Technology
e il valore della colonna Price
è inferiore a 500.
Specifichiamo le condizioni all’interno di []
collegando le condizioni utilizzando il &
o il |
operatore per indicizzare i valori in base a più condizioni. L’operatore &
rappresenta la logica e
, il che significa che entrambe le condizioni devono essere vere per selezionare una voce. Il |
L’operatore rappresenta la logica o
che significa se una qualsiasi delle condizioni è soddisfatta per selezionare la voce.
Filtrare le voci di un DataFrame in base a più condizioni utilizzando il metodo query()
Superiamo le molteplici condizioni collegate dal &
o dal |
operatore come argomento del metodo 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)
Produzione:
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 is a backend software engineer at Matrice.ai.
LinkedIn