кредит @ cs95 для Pandas Слияние 101
### read / create data frames
df_c1 = pd.DataFrame({'uuid': ['A', 'B', 'C', 'D'], 'valueA': np.random.randn(4)})
df_c2 = pd.DataFrame({'uuid': ['B', 'D', 'E', 'F'], 'valueB': np.random.randn(4)})
df_c3 = pd.DataFrame({'uuid': ['D', 'E', 'J', 'C'], 'valueC': np.ones(4)})
### list of data frames
dfs = [df_c1, df_c2, df_c3]
Затем можно использовать concat
:
pd.concat([df.set_index('uuid') for df in dfs], axis = 1) #.reset_index() could be used to make uuid a column again
Наконец, Я мог бы добавить к решению, читая в нескольких CSV что-то вроде этого:
import pandas as pd
import glob
import os
df_list = []
# note: this method assumes all of your csv files are in a single folder
path = '<insert your file path here>'
all_files = glob.glob(os.path.join(path, '*.csv'))
for file in all_files:
df1 = pd.read_csv(file)
df_list.append(df1)
concatenated_df = pd.concat([df for df in df_list], axis = 1) #note use axis = 0 to append row wise