Comment obtenir une valeur à partir d'une cellule d'un Pandas DataFrame

  1. Il est possible d’obtenir la valeur d’une cellule d’une Dataframe de Pandas en utilisant iloc
  2. iat et at pour obtenir la valeur d’une cellule d’une Dataframe de Pandas
  3. df['col_name'].values[] pour obtenir la valeur d’une cellule d’un dataframe Pandas

Nous présenterons les méthodes permettant d’obtenir la valeur d’une cellule d’une Dataframe de Pandas. Elles comprennent iloc et iat. ['col_name'].values[] est aussi une solution, surtout si nous ne voulons pas obtenir le type de retour comme pandas.Series.

Il est possible d’obtenir la valeur d’une cellule d’une Dataframe de Pandas en utilisant iloc

iloc est le moyen le plus efficace d’obtenir une valeur à partir de la cellule d’une dataframe de Pandas. Disons que nous avons un dataframe avec les noms de colonnes price et stock, et que nous voulons obtenir une valeur à partir de la troisième ligne pour vérifier le prix et la disponibilité du stock.

Nous devons d’abord accéder aux lignes et ensuite à la valeur en utilisant le nom de la colonne.

Exemples de codes:

# 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'])

Production:

7
Yes

iloc obtient des lignes (ou des colonnes) à des positions particulières dans l’indice. C’est pourquoi il ne prend qu’un entier comme argument. Et loc obtient des lignes (ou des colonnes) avec des étiquettes particulières de l’index.

iat et at pour obtenir la valeur d’une cellule d’une Dataframe de Pandas

iat et at sont des accès rapides permettant aux scalaires d’obtenir la valeur d’une cellule d’une Dataframe de Pandas.

Exemples de codes:

# 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'])

Production:

orange
No

Pour obtenir l’entrée de la dernière ligne, nous utiliserons at[df.index[-1], 'stock'].

Exemples de codes:

# 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'])

Production:

Yes

df['col_name'].values[] pour obtenir la valeur d’une cellule d’un dataframe Pandas

df['col_name'].values[] convertira d’abord la colonne datafarme en tableau 1-D puis accédera à la valeur à l’index de ce tableau:

Exemples de codes:

# 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])

Production:

Yes

Il ne retourne pas de pandas.Series, et c’est le plus simple à utiliser.

Article connexe - Pandas DataFrame

  • Soustraire deux colonnes d'un DataFrame de Pandas
  • Convertir un objet en float dans les pandas