【发布时间】:2019-04-19 14:53:44
【问题描述】:
我有两个数据框,它们代表一段时间内的股票价格和一段时间内的股票相关信息(例如公司的基本面数据)。
两个数据框都包含月度数据,但它们的时间跨度不同。一个是5年,另一个是10年。此外,两者的股票数量不同,只有 80% 的重叠。
以下是数据框的示例:
days1 = pd.date_range(start='1/1/1980', end='7/1/1980', freq='M')
df1 = pd.DataFrame(np.random.randn(6, 4), columns=list('ABCD'),index=days1)
days2 = pd.date_range(start='1/1/1980', end='5/1/1980', freq='M')
df2 = pd.DataFrame(np.random.randn(4, 6), columns=list('ABCDEF'),index=days2)
我的目标是将两个数据帧都减少到内部关节。也就是说,两者都涵盖相同的时间段并包含相同的股票。我的索引包含日期,列名是股票名称。
我尝试了merge() 等的多种变体,但是那些重新创建了合并的数据框,我想保留这两个数据框。我也尝试过isin(),但我在努力访问每个数据帧的索引。例如:
df3=df1[df1.isin(df2)].dropna()
有人有什么建议吗?
【问题讨论】:
-
请发布您的代码示例。