使用Python执行Excel数据的内部联接

使用Python执行Excel数据的内部联接,python,excel,pandas,dataframe,data-analysis,Python,Excel,Pandas,Dataframe,Data Analysis,我有一个Excel文件。在下面的图片中有两张纸。 我试图用Python创建一个代码,该代码考虑到图2中具有“权重”的ISIN(第2页),然后从第1页中的相同ISIN中过滤数据 电子表格 第1页 第2页 代码 将熊猫作为pd导入 将matplotlib.pyplot作为plt导入 将numpy作为np导入 %matplotlib内联 pd.设置_选项(“精度”,3) 投资组合=pd.read\u excel(“Track Record.xlsx”,sheet\u name=“Track Reco

我有一个Excel文件。在下面的图片中有两张纸。 我试图用Python创建一个代码,该代码考虑到图2中具有“权重”的ISIN(第2页),然后从第1页中的相同ISIN中过滤数据

电子表格 第1页 第2页

代码
将熊猫作为pd导入
将matplotlib.pyplot作为plt导入
将numpy作为np导入
%matplotlib内联
pd.设置_选项(“精度”,3)
投资组合=pd.read\u excel(“Track Record.xlsx”,sheet\u name=“Track Record”)
投资组合。设置指数(“日期”,原地=真)
portfolio\u t=portfolio.t
权重=pd.read\u excel(“Track Record.xlsx”,sheet\u name=“权重”).dropna()
#inner\u join=pd.merge(公文包,权重,on='ISIN',how='inner')

我试图通过合并来解决我的问题,但这可能不是最好的方法。

当您尝试在“ISIN”上进行合并时,它不存在于转置的数据帧中,请看Sheet1,它甚至没有提到这样的名称。在执行联接之前,需要在数据帧中创建名称“ISIN”

第二,当您试图将权重作为第二行插入到Sheet1中时,它会破坏数据的完整性,所以不太清楚您想要实现什么。如果您想保留日期列,它显然会在内部联接期间丢失,因此您可能需要执行其他联接,而如果您不想保留它,只想保留匹配的ISIN列表,那么您可能不需要数据帧


总的来说,你的思路是对的,只要把我的话考虑进去,它就会起作用。对不起,这里没有代码,因为不太清楚您最后需要什么。

我理解您的答案。基本上,我想要的是保留表1和表2中的代码,考虑到上一个表中的权重列。