python - 比较两个数据帧并保留重叠的行

标签 python pandas dataframe

我有两个数据框:一个具有单列(A),另一个具有两列(B)。我想将数据框 A 与数据框 B 的列进行比较(A 包含与 B 中的列相同类型的数据,并且某些行重叠)。然后我想保留数据帧 B 中重叠的行。

示例:

A = pd.DataFrame([['Smile1'], ['Smile4'], ['Smile6']], columns=['Smiles'])

B = pd.DataFrame([[24, 'Smile1'], [33, 'Smile2'], [2, 'Smile3'], 
[85, 'Smile4'], [68, 'Smile5'], [102, 'Smile6']], columns=['ID', 'Smiles'])

在此示例中,我想保留 Smile1、4 和 6 及其 ID,最好创建一个包含这些列的新数据框,如下所示:

C = pd.DataFrame([[24, '微笑1'], [85, '微笑4'], [102, '微笑6']], columns=['ID', '微笑'])

我的实际数据框要大得多。

感谢您的宝贵时间!

最佳答案

B[B["Smiles"].isin(A["Smiles"])]

输出:

Out[8]: 
    ID  Smiles
0   24  Smile1
3   85  Smile4
5  102  Smile6

关于python - 比较两个数据帧并保留重叠的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64514807/

相关文章:

python - 有没有办法为所有 Pandas 功能设置随机状态?

python - 使用现有 TimeSerie 中的索引和另一个 TimeSerie 中的列在 Pandas 中创建 DataFrame

python - 从 Python 中缺失值的 DataFrame 创建系列

python - mongodump 然后删除 : Not exact same number of records

python - 如何在 Python 中将文件内容打印到控制台

python - 当只有一个实例有意义时,我应该使用一个类吗?

python 正则表达式只匹配最后一次出现

python - 需要框架来处理 Redshift 和 python 之间的交互

python - 计算文档中的 token

r - 如何在循环中更改数据框中的列名?