如何在python中使用panda对多个数据帧执行外部合并



我有125个具有相同列名的csv文件。我想把它们全部合并(on=column(。我尝试了以下代码,但它不起作用(看起来像是在无限循环中运行(。

filelist = glob.glob('*.csv')
dflist = []
for filename in filelist:
df = pd.read_csv(filename)
dflist.append(df)
df_2 = reduce(lambda  left,right: pd.merge(left,right,on=['gene_id'],how='outer'), dflist)

我不能像df_new=pd.contat([df1,df2,df3,df4],axis=1(那样使用pd.concat,因为csv文件的行长度不同。

有其他方法可以对多个文件执行pd.merge吗??

提前感谢!!

试试这个代码。

filelist = glob.glob('*.csv')
merged_df = pd.read_csv(filelist[0])
for filename in filelist:
df = pd.read_csv(filename)
merged_df = pd.merge(merged_df, df, on = ['gene_id'], how = 'outer')

最新更新