gpt4 book ai didi

python - Pandas 合并两个没有某些列的数据框

转载 作者:太空宇宙 更新时间:2023-11-03 14:51:27 25 4
gpt4 key购买 nike

上下文

我正在尝试将两个大的 CSV 文件合并在一起。

问题

假设我有一个如下所示的 Pandas DataFrame...

EntityNum    foo   ...
------------------------
1001.01 100
1002.02 50
1003.03 200

还有一个像这样的......

EntityNum    a_col    b_col
-----------------------------------
1001.01 alice 7
1002.02 bob 8
1003.03 777 9

我想像这样加入他们:

EntityNum    foo    a_col
----------------------------
1001.01 100 alice
1002.02 50 bob
1003.03 200 777

所以请记住,我不想在最终结果中使用 b_col。我如何使用 Pandas 完成此操作?

使用 SQL,我可能应该做类似的事情:

SELECT t1.*, t2.a_col FROM table_1 as t1
LEFT JOIN table_2 as t2
ON t1.EntityNum = t2.EntityNum;

搜索

我知道可以使用合并。这是我试过的:

import pandas as pd

df_a = pd.read_csv(path_a, sep=',')
df_b = pd.read_csv(path_b, sep=',')
df_c = pd.merge(df_a, df_b, on='EntityNumber')

但在避免最终数据框中一些不需要的列方面,我遇到了困难。

最佳答案

您可以先通过标签访问相关的数据框列(例如 df_a[['EntityNum', 'foo']],然后加入它们。

df_a[['EntityNum', 'foo']].merge(df_b[['EntityNum', 'a_col']], on='EntityNum', how='left')

请注意,merge 的默认行为是执行内部联接。

关于python - Pandas 合并两个没有某些列的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45450280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com