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

Asad Riaz 30 janvier 2023
  1. Il est possible d’obtenir la valeur d’une cellule d’une Pandas DataFrame en utilisant iloc
  2. iat et at pour obtenir la valeur d’une cellule d’une Pandas DataFrame
  3. df['col_name'].values[] pour obtenir la valeur d’une cellule d’un dataframe Pandas
Comment obtenir une valeur à partir d'une cellule d'un Pandas DataFrame

Nous présenterons les méthodes permettant d’obtenir la valeur d’une cellule d’une Pandas DataFrame. 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 Pandas DataFrame en utilisant iloc

iloc est le moyen le plus efficace d’obtenir une valeur à partir de la cellule d’une Pandas DataFrame. 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 Pandas DataFrame

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

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