我尝试使用循环组合多个csv文件,但结果与我预期的不同。
结果: M049_255.csv
val_x val_y
date
2019-04-01 2.8751 2.8751
2019-03-29 2.8634 2.8634
2019-03-28 2.8525 2.8525
2019-03-27 2.8610 2.8610
M045_285.csv
val_x val_y
date
2019-04-01 3.7428 3.7428
2019-03-29 3.7205 3.7205
2019-03-28 3.7125 3.7125
M056_185.csv
val_x val_y
date
2019-04-01 2.1511 2.1511
2019-03-29 2.1439 2.1439
2019-03-28 2.1416 2.1416
它们与自己合并,但我希望所有这些都可以合并在一起。我真的不知道如何合并许多文件,因此任何人都可以帮助我,因为我认为循环遇到麻烦。
我期望的结果是
val_x val_y val_z
date
2019-04-01 2.8751 3.7428 2.1511
2019-03-29 2.8634 3.7205 2.1439
2019-03-28 2.8525 3.7125 2.1416
2019-03-27 2.8610 null null
我已经尝试过的一些代码。
file_path = '/Users/Desktop/Pro/*.csv'
for filename in glob(file_path):
df = pd.read_csv(filename, header=0, sep=',', parse_dates= ["date"], encoding='utf-8',usecols= ['date', 'val'])
df_ff = pd.merge(df, df, how='left', left_on=['date'], right_on = ['date'])
print(df)
我为这个问题苦苦挣扎了很多天。谁能帮我解决这个问题。
答案 0 :(得分:0)
我认为您最好不使用没有索引的df1,df2和df3。然后,您可以执行以下操作:
df4 = pd.concat([df2, df2, df3])
哪个打开了pivot
或pivot_table
和其他agg函数的门,即可为您提供所需的信息。