我有 2 个数据框:
数据框A:
value1 value2
0 -0.5 0.5
1 0.5 -0.5
2 -0.5 -1
3 0.5 1
4 0.5 1.5
数据框B:
value1 value2
1 15 -5
2 -7 -1
3 -3 10
我知道我可以使用数据帧 B 的索引值范围“对齐”数据帧 A,如下所示:
df_a[df_b.index[0]:df_b.index[-1]]
结果:
value1 value2
1 0.5 -0.5
2 -0.5 -1
3 0.5 1
问题:
这是将数据帧 A 与数据帧 B 对齐(其中索引值同时存在)的推荐/惯用方法吗?
最佳答案
使用Index.intersection
获取重叠的索引值。
i = dfa.index.intersection(dfb.index)
print(dfa.loc[i])
# value1 value2
# 1 0.5 -0.5
# 2 -0.5 -1.0
# 3 0.5 1.0
print(dfb.loc[i])
# value1 value2
# 1 15 -5
# 2 -7 -1
# 3 -3 10
关于python - pandas:删除数据帧 A 中未出现在数据帧 B 中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38468274/