python - 从 Pandas DataFrame 中选择与另一个 DataFrame 中的列值完全相同的行

标签 python pandas select rows

假设我有下面的第一个 pandas DataFrame:

    A      B      ID
0  22.0    male   12
1  38.0  female   34
2  26.0  female   44
3  35.0  female   04
4  35.0    male   78

第二个 pandas DataFrame 是:

    C   D   ID
0  xx  xx   12
2  xx  xx   44
4  xx  xx   78

我希望输出如下:

    A      B      ID
0  22.0    male   12
2  26.0  female   44
4  35.0    male   78

我只想从第一个 DataFrame 中选择第二个 DataFrame 中出现的具有相同 ID 的行。

最有效的方法是什么?

最佳答案

只需使用 isin :

>>> df1[df1['ID'].isin(df2['ID'])]
      A       B  ID
0  22.0    male  12
2  26.0  female  44
4  35.0    male  78

或者merge :(更喜欢isin)

>>> df1.merge(df2['ID'])
      A       B  ID
0  22.0    male  12
1  26.0  female  44
2  35.0    male  78

关于python - 从 Pandas DataFrame 中选择与另一个 DataFrame 中的列值完全相同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71569216/

相关文章:

python - 如何将行转换为 Pandas 中的列?

json - 根据属性值选择数组中的项目

jquery ui自动完成输入选择值

python:numpy reshape 数组

python - 将字典存储在数据框中,该数据框在唯一值列中具有重复条目

python - 展平 Pandas 数据框

MYSQL统计每类item的颜色数

python - Pandas:将多个时间序列 DataFrame 绘制成一个图

python - 在 Python 中强制传递引用

python - 使用 Opencv 关闭 python 代码后如何保存轨迹栏值?