【发布时间】:2020-10-03 07:38:04
【问题描述】:
我有一组四个数据帧:df_all = [df1, df2, df3, df4]
作为示例,它们如下所示:
df1:
Name Dates a
Apple 5-5-15 NaN
Apple 6-5-15 42
Apple 6-5-16 36
Apple 6-5-17 36
df2:
Name Dates a
Banana 5-5-15 85
Banana 6-5-15 NaN
Banana 6-6-15 100
Banana 6-5-16 18
我想合并“日期”,我通过以下方式实现:
for cols in df_all:
cols = cols.drop(['Name'], axis=1, inplace=True)
a = df1.merge(df2, how='left', on = 'Date').merge(df3, how='left', on = 'Date').merge(df4, how='left', on = 'Date')
这正是我想要的。但是,这些列被重命名为a_x, a_y, a_x, a_y
下面的这个示例显示了当我只合并 df1 和 df2 时会发生什么。
Dates a_x a_y
5-5-15 NaN 85
6-5-15 42 NaN
6-6-15 NaN 100
6-5-16 36 18
6-5-17 36 NaN
在合并之前,我想根据名称(苹果或香蕉)中的值重命名列 a,并且我想尽可能自动化地将所有数据框列 'a' 重命名为中的值他们的专栏'Name'
【问题讨论】: