Pandas concat Funktion

Suraj Joshi 30 Januar 2023
  1. pandas.concat() Syntax
  2. Beispiel: Verkettung von 2 Pandas-Serien entlang der Zeilenachse mit der Methode pandas.concat()
  3. Beispiel: Verkettung von 2 Pandas-Serien-Objekten entlang der Spaltenachse mit der Methode pandas.concat()
  4. Beispiel: Konkatenieren von 2 Pandas DataFrame-Objekten mit der Methode pandas.concat()
  5. Beispiel: Verkettung eines DataFrame mit einem Serienobjekt mit der Methode pandas.concat()
Pandas concat Funktion

Die Methode pandas.concat() verkettet Pandas DataFrame- oder Series-Objekte.

pandas.concat() Syntax

pandas.concat(
    objs,
    axis=0,
    join="outer",
    ignore_index=False,
    keys=None,
    levels=None,
    names=None,
    verify_integrity=False,
    sort=False,
    copy=True,
)

Parameter

objs Sequenz oder Mapping von Pandas Series- oder DataFrame-Objekten, die verkettet werden sollen.
join Methode von join (inner oder outer)
axis Verkettung entlang der Zeile (axis=0) oder Spalte (axis=1)
ignore_index Boolescher Wert. Wenn True, werden die Indizes aus den ursprünglichen DataFrames ignoriert.
keys Sequenz, um einen Bezeichner zu den Ergebnisindizes hinzuzufügen
levels Ebenen, die für die Erstellung eines MultiIndex verwendet werden sollen
names Namen für Ebenen im MultiIndex
verify_integrity Boolescher Wert. Wenn True, wird auf Duplikate geprüft
sort Boolescher Wert. Sortiert nicht-verkettete Achsen, wenn sie nicht bereits ausgerichtet sind, wenn join outer ist.
copy Boolescher Wert. Wenn False, vermeidet unnötiges Kopieren von Daten

Zurück

Es wird ein Series-Objekt zurückgegeben, wenn alle Series-Objekte entlang der axis=0 verkettet sind. Es gibt ein DataFrame-Objekt zurück, wenn jedes zu verkettende Objekt ein DataFrame ist, oder die Series-Objekte entlang der axis=1 verkettet sind.

Beispiel: Verkettung von 2 Pandas-Serien entlang der Zeilenachse mit der Methode pandas.concat()

import pandas as pd

ser_1 = pd.Series([20, 45, 36, 45])
print("Series-1:")
print(ser_1, "\n")

ser_2 = pd.Series([48, 46, 34, 38])
print("Series-2:")
print(ser_2, "\n")

concatenated_ser = pd.concat([ser_1, ser_2])

print("Result after Concatenation of ser_1 and ser_2:")
print(concatenated_ser)

Ausgabe:

Series-1:
0    20
1    45
2    36
3    45
dtype: int64

Series-2:
0    48
1    46
2    34
3    38
dtype: int64

Result after Concatenation of ser_1 and ser_2:
0    20
1    45
2    36
3    45
0    48
1    46
2    34
3    38
dtype: int64

Es werden die Series-Objekte ser_1 und ser_2 entlang der axis=0 oder zeilenweise verkettet. Die Zeilen eines der Series-Objekte werden über das andere gestapelt. Das verkettete Objekt nimmt standardmäßig index-Werte von den übergeordneten Objekten. Wir können ignore_index=True setzen, um dem verketteten Objekt neue Indexwerte zuzuweisen.

import pandas as pd

ser_1 = pd.Series([20, 45, 36, 45])
print("Series-1:")
print(ser_1, "\n")

ser_2 = pd.Series([48, 46, 34, 38])
print("Series-2:")
print(ser_2, "\n")

concatenated_ser = pd.concat([ser_1, ser_2], ignore_index=True)

print("Result after Concatenation of ser_1 and ser_2:")
print(concatenated_ser)

Ausgabe:

Series-1:
0    20
1    45
2    36
3    45
dtype: int64

Series-2:
0    48
1    46
2    34
3    38
dtype: int64

Result after Concatenation of ser_1 and ser_2:
0    20
1    45
2    36
3    45
4    48
5    46
6    34
7    38
dtype: int64

Es verkettet die Series Objekte und weist dem verketteten Series Objekt neue Indexwerte zu.

Beispiel: Verkettung von 2 Pandas-Serien-Objekten entlang der Spaltenachse mit der Methode pandas.concat()

Wir setzen axis=1 in der Methode pandas.concat(), um Series-Objekte horizontal oder entlang der Spaltenachse zu verketten.

import pandas as pd

ser_1 = pd.Series([20, 45, 36, 45])
print("Series-1:")
print(ser_1, "\n")

ser_2 = pd.Series([48, 46, 34, 38])
print("Series-2:")
print(ser_2, "\n")

concatenated_ser = pd.concat([ser_1, ser_2], axis=1)

print("Result after Horizontal Concatenation of ser_1 and ser_2:")
print(concatenated_ser)

Ausgabe:

Series-1:
0    20
1    45
2    36
3    45
dtype: int64

Series-2:
0    48
1    46
2    34
3    38
dtype: int64

Result after Horizontal Concatenation of ser_1 and ser_2:
    0   1
0  20  48
1  45  46
2  36  34
3  45  38

Es werden die Series-Objekte ser_1 und ser_2 horizontal gestapelt.

Beispiel: Konkatenieren von 2 Pandas DataFrame-Objekten mit der Methode pandas.concat()

import pandas as pd

df_1 = pd.DataFrame({"Col-1": [1, 2, 3, 4], "Col-2": [5, 6, 7, 8]})
print("DataFrame-1:")
print(df_1, "\n")

df_2 = pd.DataFrame({"Col-1": [10, 20, 30, 40], "Col-2": [50, 60, 70, 80]})
print("DataFrame-2:")
print(df_2, "\n")

concatenated_df = pd.concat([df_1, df_2], ignore_index=True)

print("Result after Horizontal Concatenation of df_1 and df_2:")
print(concatenated_df)

Ausgabe:

DataFrame-1:
   Col-1  Col-2
0      1      5
1      2      6
2      3      7
3      4      8

DataFrame-2:
   Col-1  Col-2
0     10     50
1     20     60
2     30     70
3     40     80

Result after Horizontal Concatenation of df_1 and df_2:
   Col-1  Col-2
0      1      5
1      2      6
2      3      7
3      4      8
4     10     50
5     20     60
6     30     70
7     40     80

Es werden die DataFrame-Objekte df_1 und df_2 verkettet. Indem wir ignore_index=True setzen, weisen wir dem verketteten DataFrame neue Indizes zu.

Beispiel: Verkettung eines DataFrame mit einem Serienobjekt mit der Methode pandas.concat()

import pandas as pd

df = pd.DataFrame({"Col-1": [1, 2, 3, 4], "Col-2": [5, 6, 7, 8]})
print("DataFrame Object:")
print(df, "\n")

ser = pd.Series([48, 46, 34, 38])
print("Series Object:")
print(ser, "\n")

ser_df = pd.concat([df, ser], axis=1)

print("Concatenation of ser and df:")
print(ser_df)

Ausgabe:

DataFrame Object:
   Col-1  Col-2
0      1      5
1      2      6
2      3      7
3      4      8

Series Object:
0    48
1    46
2    34
3    38
dtype: int64

Concatenation of ser and df:
   Col-1  Col-2   0
0      1      5  48
1      2      6  46
2      3      7  34
3      4      8  38

Es werden das DataFrame-Objekt df und das Series-Objekt ser miteinander verkettet. Die Verkettung erfolgt spaltenweise, da wir in der Methode pandas.concat() axis=1 gesetzt haben.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Verwandter Artikel - Pandas DataFrame