如果这已被涵盖,我提前道歉,我找不到类似的东西。这是我的第一份编程工作(我之前是软件 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 都有许多我不想与之交互/更改的附加列。是否可以仅比较两个数据帧的单列,并输出第三个附加列?
最佳答案
您可以尝试内部
合并。首先,您可以内部合并
df1
与df2
,然后您将仅获得公共(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/