So verwenden sie cbind in python (entspricht r)


Die cbind- Funktion in R, kurz für columns-bind , kann verwendet werden, um Datenrahmen anhand ihrer Spalten zu kombinieren.

Wir können die Funktion pandas concat() verwenden, um die entsprechende Funktion in Python auszuführen:

 df3 = pd. concat ([df1, df2], axis= 1 )

Die folgenden Beispiele zeigen, wie Sie diese Funktion in der Praxis nutzen können.

Beispiel 1: Verwenden Sie cbind in Python mit gleichen Indexwerten

Nehmen wir an, wir haben die folgenden zwei Panda-DataFrames:

 import pandas as pd

#define DataFrames
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E'],
                    ' points ': [99, 91, 104, 88, 108]})

print (df1)

  team points
0 to 99
1 B 91
2 C 104
3 D 88
4 E 108

df2 = pd. DataFrame ({' assists ': ['A', 'B', 'C', 'D', 'E'],
                    ' rebounds ': [22, 19, 25, 33, 29]})

print (df2)

  rebound assists
0 to 22
1 B 19
2 C 25
3 D 33
4 E 29

Mit der Funktion concat() können wir diese beiden DataFrames schnell anhand ihrer Spalten miteinander verknüpfen:

 #column-bind two DataFrames into new DataFrame
df3 = pd. concat ([df1, df2], axis= 1 )

#view resulting DataFrame
df3

	team points assists rebounds
0 to 99 to 22
1 B 91 B 19
2 C 104 C 25
3 D 88 D 33
4 E 108 E 29

Beispiel 2: Verwendung von cbind in Python mit ungleichen Indexwerten

Nehmen wir an, wir haben die folgenden zwei Panda-DataFrames:

 import pandas as pd

#define DataFrames
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E'],
                    ' points ': [99, 91, 104, 88, 108]})

print (df1)

  team points
0 to 99
1 B 91
2 C 104
3 D 88
4 E 108

df2 = pd. DataFrame ({' assists ': ['A', 'B', 'C', 'D', 'E'],
                    ' rebounds ': [22, 19, 25, 33, 29]})

df2. index = [6, 7, 8, 9, 10]

print (df2)

   rebound assists
6 to 22
7 B 19
8 C 25
9 D 33
10 E 29

Beachten Sie, dass die beiden DataFrames nicht die gleichen Indexwerte haben.

Wenn wir versuchen, sie mit der Funktion concat() miteinander zu verknüpfen, erhalten wir das folgende Ergebnis:

 #attempt to column-bind two DataFrames
df3 = pd. concat ([df1, df2], axis= 1 )

#view resulting DataFrame
df3

	team points assists rebounds
0 to 99.0 NaN NaN
1 B 91.0 NaN NaN
2 C 104.0 NaN NaN
3 D 88.0 NaN NaN
4 E 108.0 NaN NaN
6 NaN NaN A 22.0
7 NaN NaN B 19.0
8 NaN NaN C 25.0
9 NaN NaN D 33.0
10 NaN NaN E 29.0

Das ist nicht das Ergebnis, das wir wollten.

Um dieses Problem zu beheben, müssen wir zunächst den Index jedes DataFrames zurücksetzen, bevor wir sie miteinander verketten:

 import pandas as pd

#define DataFrames
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E'],
                    ' points ': [99, 91, 104, 88, 108]})

df2 = pd. DataFrame ({' assists ': ['A', 'B', 'C', 'D', 'E'],
                    ' rebounds ': [22, 19, 25, 33, 29]})

df2. index = [6, 7, 8, 9, 10]

#reset index of each DataFrame
df1. reset_index (drop= True , place= True )
df2. reset_index (drop= True , place= True )

#column-bind two DataFrames
df3 = pd. concat ([df1, df2], axis= 1 )

#view resulting DataFrame
df3

	team points assists rebounds
0 to 99 to 22
1 B 91 B 19
2 C 104 C 25
3 D 88 D 33
4 E 108 E 29

Beachten Sie, dass dieser DataFrame mit dem übereinstimmt, den wir im vorherigen Beispiel erhalten haben.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in Python ausführen:

So führen Sie zwei Pandas DataFrames im Index zusammen
So führen Sie Pandas DataFrames über mehrere Spalten hinweg zusammen
So führen Sie einen VLOOKUP in Pandas durch

Einen Kommentar hinzufügen

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