我有两个数据帧。我想保留数据集B中的观测值也在数据集A中的所有情况,但使用数据集A中的索引
dfA公司:
Index some_var some_var2 match_var
AB x y 12
AC x y 13
AD x y 14
dfB公司:
Index Match_var some_var3 some_var4
1 12 z w
2 22 z w
3 14 z w
预期结果:
Index some_var3 some_var4 match_var
AB z w 12
AD z w 14
问题是实际数据太大,无法执行合并并删除不需要的列和不匹配的事例。内存使用量超过100GB RAM。你知道吗
我想用dfC=dfB.loc[(dfB['Match_var'].isin(dfA['Match_var']))]
但是,这使我保留了dfB的索引,而我需要dfA的索引。你知道吗
dfA.reset_index(inplace=True)
idx = dfB.loc[(dfB['Match_var'].isin(dfA['Match_var']))]
dfB.loc[idx, 'indexvar'] = dfA['Unnamed']
dfB.set_index(['indexvar'],inplace=True)
由于某种原因也不起作用。代码似乎将dfA中的索引分配给新数据帧中的错误观察
IIUC公司
为了得到你的输出
相关问题 更多 >
编程相关推荐