python - pandas:删除数据帧 A 中未出现在数据帧 B 中的索引

标签 python pandas

我有 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/

相关文章:

python - WSGI (python) 如何从 HTML 表单获取 POST 数据?

python - 如何使用 Python Pandas 合并多个 CSV 文件

python - 确保特定列在数据框中最后(或第一个)的最快方法是什么

python - 在 Pandas 中重采样时的时间增量平均值

python - 如何将 OPTION 添加到 Click 类实现?

Python:for if-else 之间的循环,这是如何/为什么工作的?

python - 列表正在作为字符串从 csv 中读取

python - 如何在Python中更新pandas数据帧特定列中的所有行?

python - Pandas 数据框过滤

python - 创建一个矩形类