我有两个数据帧:
DF1:
Dept Produce
Acct
111 Fruit
222 Vegetable
DF2:
Acct Spent LastIn
111 50 Monday
222 75 Tuesday
我希望我的新数据帧DF3看起来像这样:
DF3:
Acct Produce Spent LastIn
111 Fruit 50 Monday
222 Vegetable 75 Tuesday
我一直在尝试使用:
pd.merge(DF1,DF2, on='Acct')
,但我得到一个冗长的错误,结尾于:
KeyError:'Acct'
我相信这是因为DF1是转换后的pivottable而python认为DEPT是实际的索引。所以我尝试使用.drop从DF1中删除“Acct”行但不能,因为我收到此错误:
ValueError:标签['Acct']未包含在轴中。
如何到达我想要的终端状态DF3?
答案 0 :(得分:1)
IIUC:
样本DF:
In [57]: d1
Out[57]:
Dept Produce
Acct
111 Fruit
222 Vegetable
DF指数:
In [60]: d1.index
Out[60]: Int64Index([111, 222], dtype='int64', name='Acct')
列:
In [61]: d1.columns
Out[61]: Index(['Produce'], dtype='object', name='Dept')
DF2:
In [58]: d2
Out[58]:
Acct Spent LastIn
0 111 50 Monday
1 222 75 Tuesday
解决方案:
In [59]: d2.merge(d1, left_on='Acct', right_index=True)
Out[59]:
Acct Spent LastIn Produce
0 111 50 Monday Fruit
1 222 75 Tuesday Vegetable