gpt4 book ai didi

python - 连接和分组填充 NaN 值

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

我有这个数据框:

df:
companycode name address A B C ...
1234 asd qwe,56 Tyh 123 923
1234 asd qwe,56 Zfhs 4828 01992
6472 yui iop,56 Retgh 8484 8484
...

我还有一个看起来像这样的:

df2:
companycode A B C ...
1234 Jid 4123 141
6472 Low 1312 3234
...

名称和地址对于单个公司代码始终相同

我想以最终看起来像这样的方式连接、加入、合并或附加它们:

companycode    name    address    A     B     C     ...
1234 asd qwe,56 Tyh 123 923
1234 asd qwe,56 Zfhs 4828 01992
6472 yui iop,56 Retgh 8484 8484
1234 asd qwe,56 Jid 4123 141
6472 yui iop,56 Low 1312 3234
...

由于单个公司代码的名称和地址始终相同,基本上我想将 df2 与 axis=0 中的 df 连接起来,并将原始 df 公司代码中的名称和地址拉到这个新行。写起来很困惑,但我认为在视觉上效果更好。

我该怎么做?

最佳答案

pd.concat 后跟 groupby 操作应该可以做到。

df = pd.concat([df1, df2], 0, ignore_index=True)\
.groupby('companycode').ffill()
df

A B C address companycode name
0 Tyh 123 923 qwe,56 1234 asd
1 Zfhs 4828 1992 qwe,56 1234 asd
2 Retgh 8484 8484 iop,56 6472 yui
3 Jid 4123 141 qwe,56 1234 asd
4 Low 1312 3234 iop,56 6472 yui

  • ignore_index=True 设置为在连接时创建新索引
  • 连接在 df2 的列中留下以前不存在的 NaN
  • companycode 执行 groupby 操作,然后执行 ffill 以使用来自的正确值填充这些 NaN同一组。

关于python - 连接和分组填充 NaN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46125738/

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