Wie man einen Wert aus einer Zelle eines Pandas DataFrame erhält

Asad Riaz 30 Januar 2023
  1. iloc, um einen Wert aus einer Zelle eines Pandas DataFrame zu erhalten
  2. iat und at, um einen Wert aus einer Zelle eines Pandas DataFrame zu erhalten
  3. df['col_name'].values[] um einen Wert aus einer Zelle eines Pandas-DataFrame zu erhalten
Wie man einen Wert aus einer Zelle eines Pandas DataFrame erhält

Wir werden Methoden vorstellen, um den Wert einer Zelle in Pandas DataFrame zu erhalten. Dazu gehören iloc und iat. ['col_name'].values[] ist ebenfalls eine Lösung, insbesondere wenn wir den Rückgabetyp nicht als pandas.Series erhalten wollen.

iloc, um einen Wert aus einer Zelle eines Pandas DataFrame zu erhalten

iloc ist der effizienteste Weg, einen Wert aus der Zelle eines Pandas DataFrame zu erhalten. Nehmen wir an, wir haben einen DataFrame mit den Spaltennamen Preis und Lagerbestand und wollen einen Wert aus der dritten Zeile erhalten, um den Preis und die Lagerverfügbarkeit zu überprüfen.

Zuerst müssen wir auf Zeilen und dann auf den Wert über den Spaltennamen zugreifen.

Beispiel-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"])

Ausgabe:

7
Yes

iloc erhält Zeilen (oder Spalten) an bestimmten Positionen im Index. Deshalb nimmt es nur eine ganze Zahl als Argument. Und loc holt Zeilen (oder Spalten) mit bestimmten Bezeichnungen aus dem Index.

iat und at, um einen Wert aus einer Zelle eines Pandas DataFrame zu erhalten

iat und at sind schnelle Zugriffe für Skalare, um einen Wert aus einer Zelle eines Pandas DataFrame zu erhalten.

Beispiel-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"])

Ausgabe:

orange
No

Um den Eintrag der letzten Zeile zu erhalten, verwenden wir at[df.index[-1],'stock'].

Beispiel-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"])

Ausgabe:

Yes

df['col_name'].values[] um einen Wert aus einer Zelle eines Pandas-DataFrame zu erhalten

df['col_name'].values[] konvertiert zuerst die Spalte datafarme in ein 1-D-Array und greift dann auf den Wert am Index dieses Arrays zu:

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

Ausgabe:

Yes

Es gibt keine pandas.Series zurück, und es ist am einfachsten zu benutzen.

Verwandter Artikel - Pandas DataFrame