gpt4 book ai didi

python - 使用两列连接,从四个其他数据帧填充一个 pandas 数据帧中的列

转载 作者:行者123 更新时间:2023-11-30 22:35:12 25 4
gpt4 key购买 nike

最终结果 Pandas 数据框需要看起来像这样。

        aggregate_FID   jurisdiction    FID       name           rate
2217 750 municipal 405 Auburn 0.093
2218 751 municipal 81 Bonney Lake 0.088
2219 752 municipal 405 Auburn 0.093
2220 753 municipal 171 Steilacoom 0.094
2221 754 municipal 235 Lakewood 0.094
2222 755 municipal 176 Fircrest 0.094
2223 750 state 1 Washington 0.065
2224 751 state 1 Washington 0.065

起点是具有此结构的数据框。

        aggregate_FID   jurisdiction    FID
2217 750 municipal 405
2218 751 municipal 81
2219 752 municipal 405
2220 753 municipal 171
2221 754 municipal 235
2222 755 municipal 176
2223 750 state 1
2224 751 state 1

...以及我需要用于填充名称和税率字段的多个数据框。

    FID name        rate    jurisdiction
0 1 Waterville 0.082 municipal
1 2 Riverside 0.081 municipal
2 3 Pierce HBZ 0.079 municipal
3 4 Cle Elum 0.080 municipal
4 5 Pacific 0.095 municipal

FID name rate jurisdiction
0 1 Washington 0.065 state

我需要根据jurisdictionFID列将后面的数据帧与第一个数据帧进行匹配,并填充name列。我已经成功创建了一个与后一个数据帧合并的单个数据帧,使用...

df_merge = pd.merge(left=df_aggregate, right=df_jurisdiction, how='left', on=['FID', 'jurisdiction'])

...但这仅适用于其中一张表。不幸的是,我需要为少至一张、多至七张 table 执行此操作。这已经痛了两天多了。如果我的问题不够清楚,请随时要求更多说明,并提前感谢您的帮助。

最佳答案

您可以先连接所有管辖区表,然后使用merge。它看起来像这样。

j_all = pd.concat([j1, j2, j3, j4, j5, j6, j7])
df_merge = pd.merge(left=df_aggregate, right=j_all, how='left', on=['FID', 'jurisdiction'])

关于python - 使用两列连接,从四个其他数据帧填充一个 pandas 数据帧中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44643995/

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