Funzione Pandas DataFrame DataFrame.where()
-
Sintassi di
pandas.DataFrame.where()
-
Codici di esempio:
DataFrame.where()
-
Codici di esempio:
DataFrame.where()
per specificare un valore -
Codici di esempio:
DataFrame.where()
per utilizzare più condizioni
La funzione Python Pandas DataFrame.where()
accetta una condizione come parametro e produce risultati di conseguenza. Controlla la condizione per ogni valore del DataFrame
e seleziona i valori che accettano la condizione. La sua funzionalità è simile all’istruzione if-else. Il valore che non accetta la condizione viene sostituito di default con un valore NaN
.
Sintassi di pandas.DataFrame.where()
DataFrame.where(
cond,
other=NaN,
inplace=False,
axis=None,
level=None,
errors="raise",
try_cast=False,
)
Parametri
Questa funzione ha diversi parametri. I valori di default di tutti i parametri sono menzionati sopra.
cond |
È un booleano Series o DataFrame , una struttura simile a un array o, un richiamabile. Rappresenta la condizione / le condizioni da controllare per ogni valore del DataFrame . Se la condizione è True , il valore originale non viene sostituito. In caso contrario, viene sostituito da un valore NaN . |
other |
È uno scalare, Series / DataFrame o richiamabile. Rappresenta il valore che verrà posto per il valore originale se la condizione è False . |
inplace |
È un valore booleano. Specifica l’operazione sui dati. Se True , apporta le modifiche da solo. |
axis |
È un valore intero. Specifica l’asse di lavoro righe o colonne. |
level |
È un valore intero. Specifica il livello. |
errors |
È una stringa. Specifica gli errori. Accetta due opzioni: raise o ignore . Se il suo valore è raise , consente di aumentare le eccezioni. Se il suo valore è ignore , ignora le eccezioni e restituisce l’oggetto originale in caso di errore. |
try_cast |
È un valore booleano. Se possibile, esegue il cast dell’output della funzione nel tipo di input originale. |
Ritorno
Restituisce il DataFrame
modificato a seconda della condizione.
Codici di esempio: DataFrame.where()
Impareremo di più su questa funzione implementandola nel prossimo esempio di codice.
import pandas as pd
dataframe=pd.DataFrame({
'A':
{0: 60,
1: 100,
2: 80,
3: 78,
4: 95,
5: 45,
6: 67,
7: 12,
8: 23,
9: 50},
'B':
{0: 90,
1: 75,
2: 82,
3: 64,
4: 45,
5: 35,
6: 74,
7: 52,
8: 93,
9: 18}
})
print(dataframe)
L’esempio DataFrame
è,
A B
0 60 90
1 100 75
2 80 82
3 78 64
4 95 45
5 45 35
6 67 74
7 12 52
8 23 93
9 50 18
Questa funzione ha un parametro obbligatorio, cioè cond
.
import pandas as pd
dataframe = pd.DataFrame(
{
"A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
"B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
}
)
dataframe1 = dataframe.where(dataframe > 50)
print(dataframe1)
Produzione:
A B
0 60.0 90.0
1 100.0 75.0
2 80.0 82.0
3 78.0 64.0
4 95.0 NaN
5 NaN NaN
6 67.0 74.0
7 NaN 52.0
8 NaN 93.0
9 NaN NaN
I valori che non sono maggiori di 50 cioè che non soddisfano la condizione vengono sostituiti da un valore NaN
.
Codici di esempio: DataFrame.where()
per specificare un valore
import pandas as pd
dataframe = pd.DataFrame(
{
"A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
"B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
}
)
dataframe1 = dataframe.where(dataframe > 50, other=0)
print(dataframe1)
Produzione:
A B
0 60 90
1 100 75
2 80 82
3 78 64
4 95 0
5 0 0
6 67 74
7 0 52
8 0 93
9 0 0
Qui, i valori che non soddisfano la condizione vengono sostituiti da un valore definito dall’utente.
Codici di esempio: DataFrame.where()
per utilizzare più condizioni
import pandas as pd
dataframe = pd.DataFrame(
{
"A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
"B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
}
)
dataframe1 = dataframe.where((dataframe == 80) | (dataframe < 50), other=0)
print(dataframe1)
Produzione:
A B
0 0 0
1 0 0
2 80 0
3 0 0
4 0 45
5 45 35
6 0 0
7 12 0
8 23 0
9 0 18
Il DataFrame
restituito contiene i valori che soddisfano entrambe le condizioni.