Oft sind Sie daran interessiert, alle eindeutigen Werte in mehreren Spalten eines Pandas DataFrame zu finden. Glücklicherweise ist dies mit der Funktion Pandas unique() in Kombination mit der Funktion ravel …
Oft möchten Sie möglicherweise zwei oder mehr Pandas DataFrames stapeln. Glücklicherweise ist dies mit der Funktion pandas concat() einfach zu bewerkstelligen.
Dieses Tutorial zeigt einige Beispiele dafür.
Beispiel 1: Stapeln Sie zwei Pandas DataFrames
Der folgende Code zeigt, wie zwei Pandas DataFrames übereinander gestapelt und ein DataFrame erstellt werden:
import pandas as pd
# Erstellen Sie zwei DataFrames
df1 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
'points':[12, 5, 13, 17, 27]})
df2 = pd.DataFrame({'player': ['F', 'G', 'H', 'I', 'J'],
'points':[24, 26, 27, 27, 12]})
# "stapeln" Sie die beiden DataFrames
df3 = pd.concat([df1,df2], ignore_index=True)
# Resultierendes DataFrame anzeigen
df3
player points
0 A 12
1 B 5
2 C 13
3 D 17
4 E 27
5 F 24
6 G 26
7 H 27
8 I 27
9 J 12
Beispiel 2: Stapeln Sie drei Pandas DataFrames
Ähnlicher Code kann verwendet werden, um drei Pandas DataFrames zu stapeln und ein DataFrame zu erstellen:
import pandas as pd
# Erstellen Sie zwei DataFrames
df1 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
'points':[12, 5, 13, 17, 27]})
df2 = pd.DataFrame({'player': ['F', 'G', 'H', 'I', 'J'],
'points':[24, 26, 27, 27, 12]})
df3 = pd.DataFrame({'player': ['K', 'L', 'M', 'N', 'O'],
'points':[9, 5, 5, 13, 17]})
# "stapeln" Sie die beiden DataFrames
df4 = pd.concat([df1,df2, df3], ignore_index=True)
# Resultierendes DataFrame anzeigen
df4
player points
0 A 12
1 B 5
2 C 13
3 D 17
4 E 27
5 F 24
6 G 26
7 H 27
8 I 27
9 J 12
10 K 9
11 L 5
12 M 5
13 N 13
14 O 172
Die Bedeutung von ignore_index
Beachten Sie, dass wir in den vorherigen Beispielen ignore_index = True verwendet haben. Dies weist Pandas an, die Indexnummern in jedem DataFrame zu ignorieren und einen neuen Index im Bereich von 0 bis n-1 für das neue DataFrame zu erstellen.
Überlegen Sie beispielsweise, was passiert, wenn wir beim Stapeln der folgenden beiden DataFrames nicht ignore_index = True verwenden:
import pandas as pd
#Erstellen Sie zwei DataFrames mit Indizes
df1 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
'points':[12, 5, 13, 17, 27]},
index=[0, 1, 2, 3, 4])
df2 = pd.DataFrame({'player': ['F', 'G', 'H', 'I', 'J'],
'points':[24, 26, 27, 27, 12]},
index=[2, 4, 5, 6, 9])
#stapeln Sie die beiden DataFrames
df3 = pd.concat([df1,df2])
#Resultierendes DataFrame anzeigen
df3
player points
0 A 12
1 B 5
2 C 13
3 D 17
4 E 27
2 F 24
4 G 26
5 H 27
6 I 27
9 J 12
Der resultierende DdataFrame behielt seine ursprünglichen Indexwerte aus den beiden DataFrames bei. Daher sollten Sie beim Stapeln von zwei DataFrames normalerweise ignore_index = True verwenden, es sei denn, Sie haben einen bestimmten Grund, die ursprünglichen Indexwerte beizubehalten.
Zusätzliche Ressourcen
So fügen Sie eine Spalte in einen Pandas DataFrame ein
So exportieren Sie einen Pandas DataFrame nach Excel
So finden Sie eindeutige Werte in mehreren Spalten in Pandas
So filtern Sie Pandas DataFrame-Zeilen nach Datum
Oft möchten Sie die Zeilen eines Pandas DataFrame nach Datum filtern. Praktischerweise ist dies ziemlich einfach und in diesem Tutorial werden je nach Struktur Ihres DataFrame zwei Möglichkeiten erläutert.