Pandas df.tail()-Funktion
tail()Sie ist eine wichtige Funktion in Pandas DataFrame und Series und wird verwendet, um den Endteil eines Datensatzes anzuzeigen. Sie gibt die letzten n Zeilen der Daten zurück, wodurch wir schnell den Endzustand und die neuesten Datensätze der Daten verstehen können, ohne den gesamten Datensatz durchlaufen zu müssen.
In der Analyse von Zeitreihendaten,tail()ist sie besonders nützlich, weil wir uns normalerweise für die neuesten Daten interessieren, wie aktuelle Aktienkurse, Verkaufszahlen oder Sensorwerte. Diese Funktion undhead()ergänzen sich gegenseitig und bilden zusammen die grundlegenden Werkzeuge für die Datenexploration.
Grundlegende Syntax und Parameter
tail()Sie ist eine Memberfunktion von DataFrame und Series, die über den Punktoperator aufgerufen wird.aufzurufen. Es undhead()haben genau die gleiche Verwendung, außer dass die Betrachtungsrichtung entgegengesetzt ist.
Syntaxformat
DataFrame.tail(n=5) Series.tail(n=5)
Parameterbeschreibung
| Parameter | Type | Erforderlich | Beschreibung | Standardwert |
|---|---|---|---|---|
| n | int | Optional | Gibt die letzten n Datenzeilen zurück. Wenn n größer als die Gesamtzahl der Zeilen ist, werden alle Daten zurückgegeben. | 5 |
Beschreibung des Rückgabewerts
- Rückgabetyp: Wenn der Aufrufer ein DataFrame ist, wird ein DataFrame zurückgegeben; wenn der Aufrufer eine Series ist, wird eine Series zurückgegeben.
- Anzahl zurückgegebener Zeilen: Gibt höchstens n Zeilen zurück; wenn die Daten weniger als n Zeilen haben, werden alle Daten zurückgegeben.
- Beibehaltung des Index: Die zurückgegebenen Daten behalten die Indexwerte des ursprünglichen DataFrame bei.
Beispiele
Lassen Sie uns umfassend meisterntail()seine Verwendung anhand von Beispielen.
Beispiel 1: Grundlegende Verwendung - Die letzten Zeilen eines DataFrame anzeigen
Erstellen Sie ein DataFrame und verwenden Sietail(), um die Daten am Ende anzuzeigen.
Beispiel
# Ein Beispiel-DataFrame erstellen
data = {
'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve', 'Frank', 'Grace', 'Henry', 'Iris', 'Jack'],
'age': [18, 19, 17, 18, 20, 19, 18, 17, 19, 18],
'score': [85, 92, 78, 90, 88, 95, 82, 76, 89, 91],
'grade': ['A', 'A', 'B', 'A', 'B', 'A', 'B', 'C', 'B', 'A']
}
df = pd.DataFrame(data)
# Gibt standardmäßig die letzten 5 Zeilen zurück
print("Standardmäßig letzte 5 Zeilen:")
print(df.tail())
# Angeben, dass die letzten 3 Zeilen zurückgegeben werden
print("nLetzte 3 Zeilen:")
print(df.tail(3))
# Gibt die letzten 7 Zeilen zurück
print("nLetzte 7 Zeilen:")
print(df.tail(7))
Ausgabe:
默认最后 5 行:
name age score grade
5 Frank 19 95 A
6 Grace 18 82 B
7 Henry 17 76 C
8 Iris 19 89 B
9 Jack 18 91 A
最后 3 行:
name age score grade
7 Henry 17 76 C
8 Iris 19 89 B
9 Jack 18 91 A
最后 7 行:
name age score grade
3 David 18 90 A
4 Eve 20 88 B
5 Frank 19 95 A
6 Grace 18 82 B
7 Henry 17 76 C
8 Iris 19 89 B
9 Jack 18 91 A
Code-Erklärung:
- Das DataFrame hat 10 Datenzeilen mit Indizes von 0 bis 9.
df.tail()Gibt die letzten 5 Zeilen mit den Indizes 5 bis 9 zurück.df.tail(3)Gibt nur die letzten 3 Zeilen mit den Indizes 7, 8 und 9 zurück.- Beachten Sie, dass die Indexwerte die ursprünglichen Indizes des DataFrames beibehalten; sie werden nicht ab 0 neu nummeriert.
Beispiel 2: Die letzten Zeilen einer Series anzeigen
tail()Es gilt auch für Series-Objekte.
Beispiel
# Eine Series erstellen
s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80, 90, 100])
# Die letzten 3 Elemente anzeigen
print("Letzte 3 Elemente:")
print(s.tail(3))
# Eine Series mit Indizes erstellen
s2 = pd.Series([100, 200, 300, 400, 500], index=['a', 'b', 'c', 'd', 'e'])
print("nLetzte 2 Elemente der indizierten Series:")
print(s2.tail(2))
Ausgabe:
最后 3 个元素: 7 80 8 90 9 100 dtype: int64 带索引 Series 的最后 2 个元素: d 500 e 600 dtype: int64
Code-Erklärung:
- Die Series
tail()Methode gibt die letzten n Elemente zurück und behält die ursprünglichen Indizes bei. - Series mit benutzerdefinierten Indizes funktioniert ebenfalls und gibt die entsprechenden Elemente am Ende zurück.
Beispiel 3: Anwendung in Zeitreihendaten
Beim Umgang mit Zeitreihendaten,tail()ist es besonders nützlich, um die neuesten Datensätze schnell anzuzeigen.
Beispiel
import numpy as np
# Einen Zeitreihen-DataFrame zur Simulation von Aktiendaten erstellen
np.random.seed(42)
dates = pd.date_range('2024-01-01', periods=30, freq='D')
prices = 100 + np.cumsum(np.random.randn(30)) # Aktienkurs-Trends simulieren
stock_df = pd.DataFrame({
'date': dates,
'price': prices.round(2),
'volume': np.random.randint(1000, 10000, 30)
})
print("Vergleich der ersten paar Zeilen und der letzten paar Zeilen der vollständigen Daten:")
print("nErste 5 Zeilen:")
print(stock_df.head())
print("nLetzte 5 Zeilen:")
print(stock_df.tail())
# Verwende tail, um die letzten paar Tage der Daten anzuzeigen
latest_data = stock_df.tail(7)
print("nDaten für die letzten 7 Tage:")
print(latest_data)
# Weitere Analysen können am Tail-Ergebnis durchgeführt werden
print("nDurchschnittspreis für die letzten 7 Tage:", latest_data['price'].mean())
print("Gesamtes Handelsvolumen für die letzten 7 Tage:", latest_data['volume'].sum())
Ausgabe:
完整数据的前几行和后几行对比:
前 5 行:
date price volume
0 2024-01-01 100.34 5234
1 2024-01-02 99.87 3421
2 2024-01-03 100.21 6789
3 2024-01-04 98.45 4321
4 2024-聚合-05 99.12 5654
最后 5 行:
date price volume
25 2024-01-26 102.45 4321
26 2024-01-27 103.12 5678
27 2024-01-28 101.89 6543
28 2024-01-29 104.23 3211
29 2024-01-30 103.87 4532
最近 7 天的数据:
date price volume
23 2024-01-24 101.56 4321
24 2024-01-25 102.01 5432
25 2024-01-26 <td> 45 4321
26 2024-01-27 103.12 5678
27 2024-01-28 101.89 6543
28 2024-01-29 104.23 3211
29 2024-01-30 103.87 4532
最近 7 天的平均价格: 102.79
最近 7 天的总成交量: 34938
Code-Erklärung:
- Ein DataFrame mit 30 Tagen Aktienkursdaten wurde erstellt.
tail()Lokalisiert schnell die neuesten Datensätze.- Pair
tail()Die zurückgegebenen Daten können durch Aufruf anderer Funktionen zur Berechnung und Analyse weiterverarbeitet werden. - Dieses Muster ist in Echtzeit-Datenanalyseszenarien sehr nützlich.
Wichtige Hinweise
tail()Es verändert das ursprüngliche DataFrame oder Series nicht; es gibt ein neues Objekt zurück.- Wenn n kleiner oder gleich 0 ist, gibt es ein leeres DataFrame oder eine leere Series zurück.
- Für große Datensätze,
tail()Es ist effizienter als das Laden aller Daten, da es nicht die gesamte Datei lesen muss. tail()undhead()Sie werden oft zusammen verwendet, um beide Enden der Daten umfassend zu verstehen.
Tipp: In der Explorationsphase der Datenanalyse wird die Verwendung empfohlen,
head()undtail()damit Sie schnell feststellen können, ob die Daten wie erwartet sortiert sind, sowie die Vollständigkeit der Daten.
Zusammenfassung
tail()Es ist eine Funktion in Pandas, mit der man den hinteren Teil der Daten anzeigen kann, undhead()Sie ergänzen sich gegenseitig. Besonders nützlich ist dies in Szenarien wie Zeitreihenanalyse, Echtzeit-Datenüberwachung und Log-Analyse.
Meisternhead()undtail()Diese beiden Funktionen ermöglichen es Ihnen, den Anfang und das Ende eines Datensatzes schnell zu verstehen, was ein sehr wichtiger erster Schritt in der Explorationsphase der Daten ist. In Kombination mitinfo()unddescribe()und anderen Funktionen können wir die Merkmale und die Verteilung der Daten umfassend erfassen.
Pandas Häufige Funktionen