finde ich mich oft mit mehreren Pandas Datenrahmen in der folgenden Form:Wie kann ich mehrere Pandas-Datenrahmen in einer bestimmten Spalte ohne 'Pandas.merge' zusammenführen?
import pandas as pd
df1 = pd.read_table('filename1.dat')
df2 = pd.read_table('filename2.dat')
df3 = pd.read_table('filename3.dat')
print(df1)
columnA first_values
name1 342
name2 822
name3 121
name4 3434
print(df2)
columnA second_values
name1 8
name2 1
name3 1
name4 2
print(df3)
columnA third_values
name1 910
name2 301
name3 132
name4 299
ich auf ‚columnA‘ zusammen jede dieser Datenrahmen fusionieren möchten, geben
columnA first_values second_values third_values
name1 342 8 910
name2 822 1 301
name3 121 1 132
name4 3434 2 299
ich normalerweise auf diese zurückgreifen hack:
merged1 = df1.merge(df2, on='columnA')
dann
merged2 = df3.merge(merged1, on='columnA')
Aber das skaliert nicht für viele Datenrahmen. Was ist der richtige Weg, dies zu tun?
'pandas.concat'? – BrenBarn
@BrenBarn Aber concat auf was? Sie können einen Index erstellen? – ShanZhengYang
So etwas ähnliches? 'pd.concat ([df.set_index ('columnA') für df in dfs], axis = 1) .reset_index()' – ayhan