gpt4 book ai didi

python - Pandas 加入 2 列

转载 作者:太空狗 更新时间:2023-10-30 00:14:30 24 4
gpt4 key购买 nike

我在让这两个 df 以我想要的方式加入时遇到了一些麻烦。第一个 df 有一个分层索引,我使用 df1 = df3.groupby(["STATE_PROV_CODE", "COUNTY"]).size() 创建了每个县的计数。

STATE_PROV_CODE  COUNTY            COUNT
AL Autauga County 1
Baldwin County 1
Barbour County 1
Bibb County 1
Blount County 1

STATE_PROV_CODE COUNTY ANSI Cl FIPS
0 AL Autauga County H1 01001
1 AL Baldwin County H1 01003
2 AL Barbour County H1 01005
3 AL Bibb County H1 01007
4 AL Blount County H1 01009

在 SQL 中,我想执行以下操作:

SELECT STATE_PROV_CODE, COUNTY, FIPS, COUNT,
FROM df1, df2
ON STATE_PROV_CODE, COUNTY
WHERE df1.STATE_PROV_CODE = df2.STATE_PROV_CODE
AND df1.COUNTY = df2.COUNTY

我希望结果如下:

STATE_PROV_CODE  COUNTY            COUNT    FIPS
AL Autauga County 1 01001
Baldwin County 1 01003
Barbour County 1 01005
Bibb County 1 01007
Blount County 1 01009

最佳答案

我相信您设置 groupby 结果和第二个数据框的方式,此合并调用将起作用:

df = pd.merge(df1, df2, left_index=True, right_on=['STATE_PROV_CODE', 'COUNTY'])

它将解开 MultiIndex;然而,如果你想要它回来,你所要做的就是

df = df.set_index(['STATE_PROV_CODE', 'COUNTY'])

关于python - Pandas 加入 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25018952/

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