Ottieni un valore da una cella di un DataFrame Pandas

  1. iloc per ottenere valore da una cella di un Dataframe di Pandas
  2. iat e at per ottenere il valore da una cella di un Dataframe di Pandas
  3. 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

  • Scorri le righe di un DataFrame in Pandas
  • Aggiungi una nuova colonna a DataFrame esistente con valore predefinito in Pandas