Ottieni un valore da una cella di un DataFrame Pandas
-
ilocper ottenere valore da una cella di unDataFramedi Pandas -
iateatper ottenere il valore da una cella di unDataFramedi 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