
Um die Daten von pandas.DataFrame und pandas.Series mit vielen Zeilen zu überprüfen, sind die Methoden head() und tail() nützlich, sterben die ersten und letzten n Zeilen zurückgeben.
Dieser Artikel hat folgenden Inhalt.
- Holen Sie sich die ersten n Zeilen von DataFrame:
head()
- Holen Sie sich die letzten n Zeilen von DataFrame:
tail()
- Rufen Sie Zeilen ab, indem Sie Zeilennummern angeben: Slice
- Holen Sie sich die Werte der ersten/letzten Zeile
Beachten Sie, dass eine andere Methode, sterben SIE verwenden can, um große pandas.DataFrame und pandas.Series zu überprüfen, sample() für Zufallsstichproben ist.
Verwenden Sie als Beispiel den Iris-Datensatz, der als Beispiel in Seaborn enthalten ist.
import pandas as pd
import seaborn as sns
df = sns.load_dataset("iris")
print(df.shape)
# (150, 5)
Das Beispiel gilt für pandas.DataFrame, aber pandas.Series hat auch head() und tail(). Die Verwendung ist für beide gleich.
Holen Sie sich die ersten n Zeilen von DataFrame:head()
Die Methode head() gibt die ersten n Zeilen zurück.
Standardmäßig werden die ersten 5 Zeilen zurückgegeben.
print(df.head())
# sepal_length sepal_width petal_length petal_width species
# 0 5.1 3.5 1.4 0.2 setosa
# 1 4.9 3.0 1.4 0.2 setosa
# 2 4.7 3.2 1.3 0.2 setosa
# 3 4.6 3.1 1.5 0.2 setosa
# 4 5.0 3.6 1.4 0.2 setosa
SIE KÖNNEN sterben Anzahl der Zeilen angeben.
print(df.head(3))
# sepal_length sepal_width petal_length petal_width species
# 0 5.1 3.5 1.4 0.2 setosa
# 1 4.9 3.0 1.4 0.2 setosa
# 2 4.7 3.2 1.3 0.2 setosa
Holen Sie sich die letzten n Zeilen von DataFrame:tail()
Die Methode tail() gibt die letzten n Zeilen zurück.
Standardmäßig werden die letzten 5 Zeilen zurückgegeben.
print(df.tail())
# sepal_length sepal_width petal_length petal_width species
# 145 6.7 3.0 5.2 2.3 virginica
# 146 6.3 2.5 5.0 1.9 virginica
# 147 6.5 3.0 5.2 2.0 virginica
# 148 6.2 3.4 5.4 2.3 virginica
# 149 5.9 3.0 5.1 1.8 virginica
SIE KÖNNEN sterben Anzahl der Zeilen angeben.
print(df.tail(3))
# sepal_length sepal_width petal_length petal_width species
# 147 6.5 3.0 5.2 2.0 virginica
# 148 6.2 3.4 5.4 2.3 virginica
# 149 5.9 3.0 5.1 1.8 virginica
Rufen Sie Zeilen ab, indem Sie Zeilennummern angeben: Slice
Es ist auch möglich, Zeilen mit Slice zu erhalten.
print(df[50:55])
# sepal_length sepal_width petal_length petal_width species
# 50 7.0 3.2 4.7 1.4 versicolor
# 51 6.4 3.2 4.5 1.5 versicolor
# 52 6.9 3.1 4.9 1.5 versicolor
# 53 5.5 2.3 4.0 1.3 versicolor
# 54 6.5 2.8 4.6 1.5 versicolor
Sie können Slices verwenden, um dasselbe zu tun wie head() und tail().
print(df[:5])
# sepal_length sepal_width petal_length petal_width species
# 0 5.1 3.5 1.4 0.2 setosa
# 1 4.9 3.0 1.4 0.2 setosa
# 2 4.7 3.2 1.3 0.2 setosa
# 3 4.6 3.1 1.5 0.2 setosa
# 4 5.0 3.6 1.4 0.2 setosa
print(df[-5:])
# sepal_length sepal_width petal_length petal_width species
# 145 6.7 3.0 5.2 2.3 virginica
# 146 6.3 2.5 5.0 1.9 virginica
# 147 6.5 3.0 5.2 2.0 virginica
# 148 6.2 3.4 5.4 2.3 virginica
# 149 5.9 3.0 5.1 1.8 virginica
Holen Sie sich die Werte der ersten/letzten Zeile
Wenn Sie n=1 in head() oder tail() angeben, can SIE sterben erste oder letzte Zeile aufrufen, aber selbst Wenn es sich nur um eine Zeile handelt, ist der Typ pandas.DataFrame.
print(df.head(1))
# sepal_length sepal_width petal_length petal_width species
# 0 5.1 3.5 1.4 0.2 setosa
print(type(df.head(1)))
# <class 'pandas.core.frame.DataFrame'>
Wenn Sie mit iloc nur eine Zeile angeben, erhalten Sie die Zeile als pandas.Series. pandas.Series ist einfacher, den Wert zu erhalten. Sie können die erste Zeile mit iloc[0] und die letzte Zeile mit iloc[-1] erhalten.
Wenn Sie den Wert des Elements erhalten möchten, können Sie dies mit iloc[0][‚column_name‘], iloc[-1][‚column_name‘] tun.
print(df.iloc[0])
# sepal_length 5.1
# sepal_width 3.5
# petal_length 1.4
# petal_width 0.2
# species setosa
# Name: 0, dtype: object
print(type(df.iloc[0]))
# <class 'pandas.core.series.Series'>
print(df.iloc[0]['sepal_length'])
# 5.1
print(df.iloc[-1])
# sepal_length 5.9
# sepal_width 3
# petal_length 5.1
# petal_width 1.8
# species virginica
# Name: 149, dtype: object
print(type(df.iloc[-1]))
# <class 'pandas.core.series.Series'>
print(df.iloc[-1]['sepal_length'])
# 5.9
Beachten Sie, dass ohne .iloc ein Fehler ausgelöst WIRD.
# print(df[0])
# KeyError: 0
# print(df[-1])
# KeyError: -1
Weitere Informationen zu at, iat, loc, iloc und zum Auswählen von Zeilen und Spalten durch Indizieren von [] finden Sie im following Artikel.