我有两个数据框,代表随时间变化的股票价格和股票相关信息(例如公司的基本数据)。
两个数据框都包含月度数据,但它们的时间跨度不同。一年是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()
有人有任何建议吗?
答案 0 :(得分:1)
:
componentDidMount() {
const self = this;
....
self.friendChat(self.id);
}
表示行交集:
column_intersection = df1.columns & df2.columns
然后只是每个数据帧的子集:
row_intersection = df1.index & df2.index