我是python新手,我正在尝试使用pandas(在中可以使用vba,但需要相当长的时间)将2张excel表格合并为1张(如excel中的vlookup函数)。然而,合并后,结果会重复,我不知道为什么。下面是我编写的代码:
import pandas as pd
df1 = pd.read_excel(r'C:\Users\hoatran\Desktop\Test data.xlsx',sheet_name='Loan')
df2 = pd.read_excel(r'C:\Users\hoatran\Desktop\Test data.xlsx',sheet_name='MD48')
results = pd.merge(df1, df2, on=['v_contract_number'],how='left')
results["d_revised_maturity_date"] = pd.to_datetime(results["d_revised_maturity_date"]).dt.strftime('%d/%m/%Y')
print(results)
输入数据为14662行,但输出数据为15338行。
您可以看到文件[here][1][1]:https://drive.google.com/drive/u/0/folders/1clabd4ejwxdbso3fxyldgf34czt316oc
请帮我查一下哪里出了错。谢谢并致以最良好的问候
2条答案
按热度按时间hts6caw31#
第一个工作表中有14662行,第二个工作表中有>20000行。在进行左合并时,如果右数据框中有多个元素具有相同的id,则会在结果数据框中多次出现。请检查示例以供参考。
合并:-
2g32fytz2#
实际上我想做如下的事情
但我的预期产出如下:
我只想保留最大“时代”的“d_修订的_到期日”
谢谢你抽出时间。