我最近开始使用熊猫。在两个工作簿中,我都有一个名为CODE的列。第一个工作簿的唯一代码列较短,例如1009。在第二个工作簿中,列表较长,并且1009可以出现多次。我希望将较小的工作簿中某一行的所有信息复制并追加到第二个工作簿中具有相同代码的每一行。
工作簿1
CODE x y
1009 1 3
1112 3 2
工作簿2
CODE n
1009 bob
1009 john
1112 mark
1112 dan
1112 finn
最终工作簿
CODE n x y
1009 bob 1 3
1009 john 1 3
1112 mark 3 2
1112 dan 3 2
1112 finn 3 2
我的尝试
import pandas as pd
#Opening workbook
wb1 = pd.read_excel('one.xlsx') #short list
wb2 = pd.read_excel('two.xlsx') #looooong list
result = pd.merge(wb1, wb2, on=['CODE'])
result.to_excel('merged.xlsx')
答案 0 :(得分:0)
我相信这是您要寻找的?确保知道merge
的工作方式及其超参数(主要是on
和how
)。
import pandas as pd
a = {'CODE':[1009,1112],'x':[1,3],'y':[3,2]}
b = {'CODE':[1009,1009,1112,1112,1112],'n':['bob','john','mark','dan','finn']}
dfa = pd.DataFrame(data=a)
dfb = pd.DataFrame(data=b)
c = dfb.merge(dfa, on='CODE', how='left')
print(c)
此输出为我提供了请求的数据帧:
CODE n x y
0 1009 bob 1 3
1 1009 john 1 3
2 1112 mark 3 2
3 1112 dan 3 2
4 1112 finn 3 2