我有一个数据框字典,如下所示:
test = {'df1':pd.DataFrame({'col1':[3, 5, 1, 4], 'col2':[3, 5, 1, 4]}), 'df2':pd.DataFrame({'col1':[3, 5, 1, 4], 'col2':[3, 5, 1, 4]}), 'df3':pd.DataFrame({'col1':[3, 5, 1, 4], 'col2':[3, 5, 1, 4]}), 'df4':pd.DataFrame({'col1':[3, 5, 1, 4], 'col2':[3, 5, 1, 4]})]
我想连接这些数据帧,但添加一个新列,它给出了“身份”(字典键名),该值来自哪个数据帧.如何才能做到这一点?如果我执行pd.concat(test.values()),我得到了我想要的连接但没有标识列.
谢谢,
插口
最佳答案 使用concat键
pd.concat(test.values(),keys=test.keys())
Out[261]:
col1 col2
df1 0 3 3
1 5 5
2 1 1
3 4 4
df2 0 3 3
1 5 5
2 1 1
3 4 4
df3 0 3 3
1 5 5
2 1 1
3 4 4
df4 0 3 3
1 5 5
2 1 1
3 4 4