So stapeln sie mehrere pandas dataframes


Häufig 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 mehrere Beispiele dafür.

Beispiel 1: Stapeln Sie zwei Pandas DataFrames

Der folgende Code zeigt, wie man zwei Panda-DataFrames übereinander „stapelt“ und einen DataFrame erstellt:

 import pandas as pd

#create two 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]})

#"stack" the two DataFrames together
df3 = pd. concat ([df1,df2], ignore_index= True )

#view resulting DataFrame
df3

	player points
0 to 12
1 B 5
2 C 13
3 D 17
4 E 27
5 F 24
6 G 26
7:27 a.m.
8 I 27
9 D 12

Beispiel 2: Stapeln Sie drei Pandas DataFrames

Mit einem ähnlichen Code können drei Panda-DataFrames übereinander gestapelt werden, um einen DataFrame zu erstellen:

 import pandas as pd

#create three 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]})

#"stack" the two DataFrames together
df4 = pd. concat ([df1,df2, df3], ignore_index= True )

#view resulting DataFrame
df4

        player points
0 to 12
1 B 5
2 C 13
3 D 17
4 E 27
5 F 24
6 G 26
7:27 a.m.
8 I 27
9 D 12
10K 9
11 L 5
12 M 5
13 N 13
14 O 17

Die Bedeutung vonignore_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 den neuen DataFrame zu erstellen.

Überlegen Sie beispielsweise, was passiert, wenn wir „ignore_index=True“ beim Stapeln der folgenden zwei DataFrames nicht verwenden:

 import pandas as pd

#create two DataFrames with indices
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])

#stack the two DataFrames together
df3 = pd. concat ([df1,df2])

#view resulting DataFrame
df3

        player points
0 to 12
1 B 5
2 C 13
3 D 17
4 E 27
2 F 24
4G 26
5:27 a.m.
6 I 27
9 D 12

Der resultierende DataFrame behielt seine ursprünglichen Indexwerte beider DataFrames bei.

Daher sollten Sie beim Stapeln von zwei DataFrames im Allgemeinen „ignore_index=True“ verwenden, es sei denn, Sie haben einen bestimmten Grund, die ursprünglichen Indexwerte beizubehalten.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in Pandas ausführen:

So fügen Sie einem Pandas DataFrame eine leere Spalte hinzu
So fügen Sie eine Spalte in einen Pandas DataFrame ein
So exportieren Sie einen Pandas DataFrame nach Excel

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert