【问题标题】:Performing an inner join of data from Excel using Python使用 Python 对 Excel 中的数据执行内部连接
【发布时间】:2021-02-23 15:34:02
【问题描述】:

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

电子表格

表 1 表 2

代码

import pandas as pd

import matplotlib.pyplot as plt

import numpy as np

%matplotlib inline 

pd.set_option("precision", 3)

portfolio = pd.read_excel("Track Record.xlsx", sheet_name="Track Record")

portfolio.set_index( "Date", inplace=True)

portfolio_t= portfolio.T

weights = pd.read_excel("Track Record.xlsx", sheet_name="Weights").dropna()

#inner_join= pd.merge(portfolio_t,weights, on='ISIN' , how='inner')

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

【问题讨论】:

    标签: python excel pandas dataframe data-analysis


    【解决方案1】:

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

    其次,当您尝试将权重作为第二行插入到 Sheet1 中时,它会破坏数据的完整性,因此不太清楚您要完成什么。如果你想保留你的日期列,它显然会在你的内部连接过程中丢失,所以你可能想要做一些其他的连接,而如果你不想保留它而只想保留一个匹配的 ISIN 列表,那么也许你不需要数据框。

    通常你是在正确的轨道上,只要考虑我的意见,它应该工作。抱歉,这里没有代码,因为不清楚你最终需要什么。

    【讨论】:

    • 我理解你的回答。基本上我想要的是保留工作表 1 和工作表 2 中的代码,同时考虑到最后一个的权重列。
    猜你喜欢
    • 2016-06-12
    • 2017-02-06
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多