python - 比较两个数据帧列并输出第三个

标签 python pandas join merge

如果这已被涵盖,我提前道歉,我找不到类似的东西。这是我的第一份编程工作(我之前是软件 QA),为此我一直在苦苦挣扎。

我有 2 个数据帧,其中一个非常大 [df2](1460 万行),我正在分块迭代它。我尝试比较每个数据框中同名的列,如果它们相等,我想输出较大框架的辅助列。

if df1['tag'] == df2['tag']:
   df1['new column'] = df2['plate']

我尝试合并,但这没有输出我期望的结果。

df3 = pd.merge(df1, df2, on='tag', how='left')

我希望我解释得很好。

[编辑:]我还认为我应该提到 df2 和 df1 都有许多我不想与之交互/更改的附加列。是否可以仅比较两个数据帧的单列,并输出第三个附加列?

最佳答案

您可以尝试内部合并。首先,您可以内部合并 df1df2,然后您将仅获得公共(public)行的plates,您可以根据您的需要重命名新的 df1's

df1 = df1.merge(df2, on="tag", how = 'inner')

df1['new column'] = df1['plate']
del df1['plate']

我希望这能起作用。

关于python - 比较两个数据帧列并输出第三个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49886199/

相关文章:

mysql - 使用 MySQL 查询查找所有 NULL 值并将它们设置为最低的未使用数字

python - 使用 delim_whitespace、read_csv 指定最大分隔符

python - Pandas OLS - 拉动参数不起作用

python - 将字典展开到 DataFrame 中,然后添加到原始 DataFrame 中,并添加新列和复制的原始数据

Python Pandas Dataframe 追加行

sql - 将两个表从第一个日期开始连接到第二个日期范围内

python - 使用随机森林对文本文档进行分类

python - 如何向 pointdrawtool 添加 python 回调

python - 如果 n 位损坏或丢失,如何找到 float 的精度

php - 复杂的 MySQL 连接与替换列