Ottieni un valore da una cella di un DataFrame Pandas
-
iloc
per ottenere valore da una cella di unDataFrame
di Pandas -
iat
eat
per ottenere il valore da una cella di unDataFrame
di Pandas -
df['col_name'].values[]
per ottenere il valore da una cella di un DataFrame Pandas
Introdurremo metodi per ottenere il valore di una cella in Pandas DataFrame
. Includono iloc
e iat
. ['col_name'].values[]
è anche una soluzione soprattutto se non vogliamo ottenere il tipo restituito come pandas.Series
.
iloc
per ottenere valore da una cella di un DataFrame
di Pandas
iloc
è il modo più efficiente per ottenere un valore dalla cella di un DataFrame
di Pandas. Supponiamo di avere un DataFrame
con i nomi delle colonne come price
e stock
e di voler ottenere un valore dalla terza riga per controllare il prezzo e la disponibilità delle scorte.
Innanzitutto, dobbiamo accedere alle righe e quindi al valore utilizzando il nome della colonna.
Codici di esempio:
# python 3.x
import pandas as pd
df = pd.DataFrame(
{
"name": ["orange", "banana", "lemon", "mango", "apple"],
"price": [2, 3, 7, 21, 11],
"stock": ["Yes", "No", "Yes", "No", "Yes"],
}
)
print(df.iloc[2]["price"])
print(df.iloc[2]["stock"])
Produzione:
7
Yes
iloc
ottiene righe (o colonne) in posizioni particolari nell’indice. Ecco perché richiede solo un numero intero come argomento. E loc
ottiene righe (o colonne) con le etichette date dall’indice.
iat
e at
per ottenere il valore da una cella di un DataFrame
di Pandas
iat
e at
sono accessi rapidi per gli scalari per ottenere il valore da una cella di un DataFrame
di Pandas.
Codici di esempio:
# python 3.x
import pandas as pd
df = pd.DataFrame(
{
"name": ["orange", "banana", "lemon", "mango", "apple"],
"price": [2, 3, 7, 21, 11],
"stock": ["Yes", "No", "Yes", "No", "Yes"],
}
)
print(df.iat[0, 0])
print(df.at[1, "stock"])
Produzione:
orange
No
Per ottenere l’ultima voce di riga, useremo at[df.index[-1],'stock']
.
Codici di esempio:
# python 3.x
import pandas as pd
df = pd.DataFrame(
{
"name": ["orange", "banana", "lemon", "mango", "apple"],
"price": [2, 3, 7, 21, 11],
"stock": ["Yes", "No", "Yes", "No", "Yes"],
}
)
print(df.at[df.index[-1], "stock"])
Produzione:
Yes
df['col_name'].values[]
per ottenere il valore da una cella di un DataFrame Pandas
df['col_name'].values[]
convertirà prima la colonna datafarme
in un array 1-D, quindi accederà al valore all’indice di quell’array:
Codici di esempio:
# python 3.x
import pandas as pd
df = pd.DataFrame(
{
"name": ["orange", "banana", "lemon", "mango", "apple"],
"price": [2, 3, 7, 21, 11],
"stock": ["Yes", "No", "Yes", "No", "Yes"],
}
)
print(df["stock"].values[0])
Produzione:
Yes
Non restituisce un pandas.Series
ed è il più semplice da usare.
Articolo correlato - Pandas DataFrame
- Come ottenere le intestazioni delle colonne DataFrame Pandas come lista
- Come cancellare la colonna DataFrame Pandas DataFrame
- Come convertire la colonna DataFrame in data e ora in pandas
- Converti un Float in un Integer in Pandas DataFrame
- Ordina Pandas DataFrame in base ai valori di una colonna
- Ottieni l'aggregato di Pandas Group-By e Sum