当一个工作簿故意重复数据时,如何合并两个工作簿?

2024-05-19 07:21:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近开始使用熊猫。在这两本工作簿中,我都有一个名为“代码”的专栏。第一本工作簿的唯一代码列较短,如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')

Tags: 代码readcoderesultxlsxjohnexcellist
1条回答
网友
1楼 · 发布于 2024-05-19 07:21:58

我相信这就是你要找的?确保了解merge的工作原理及其超参数(主要是onhow

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

相关问题 更多 >

    热门问题