gpt4 book ai didi

python - Pandas 用多个键引用 NaN 值

转载 作者:太空宇宙 更新时间:2023-11-04 02:29:01 24 4
gpt4 key购买 nike

我有 2 个数据框,第一个数据框中的 [Trade] 列有 3 个 NaN 值,我需要用引用数据框填充它们,您可能会在第一个 df 下面看到它。您可以使用各种方法来填充 NaN 值。加入、合并、连接、替换,任何可以轻松进行的操作。谢谢

    Trade        ID     Toy_company
0 D255/FE 192 Duplo
1 L217/SN 255 Duplo
2 NaN 195 Lego
3 NaN 256 Duplo
4 D255/FE 192 Duplo
5 D255/FE 192 Duplo
6 D250/AT 192 Duplo
7 D250/AT 192 Duplo
8 L195/AE 195 Lego
9 NaN 195 Lego
10 L256/PE 256 Lego

引用数据框:

   Trade_ID     Item    Company
0 D255/FE 192 Duplo
1 D217/SN 255 Duplo
2 L12A/BA 195 Lego
3 L999/CC 256 Lego

要求:1. 根据引用数据框中的信息,只在两个键上填写 NaN 值:Item+Company。如果无法引用,请将其保留为 NaN。2. 不修正任何现有信息,只影响NaN值

所以最终的结果应该是:

        Trade        ID     Toy_company
0 D255/FE 192 Duplo
1 L217/SN 255 Duplo
2 L12A/BA 195 Lego
3 NaN 256 Duplo
4 D255/FE 192 Duplo
5 D255/FE 192 Duplo
6 D250/AT 192 Duplo
7 D250/AT 192 Duplo
8 L195/AE 195 Lego
9 L12A/BA 195 Lego
10 L256/PE 256 Lego

最佳答案

你可以使用merge()方法:

In [347]: d1['Trade'] = (d1['Trade'].fillna(
d1.merge(d2.rename(columns={'Item':'ID','Company':'Toy_company'}),
how='left')['Trade_ID']))

In [348]: d1
Out[348]:
Trade ID Toy_company
0 D255/FE 192 Duplo
1 L217/SN 255 Duplo
2 L12A/BA 195 Lego
3 NaN 256 Duplo
4 D255/FE 192 Duplo
5 D255/FE 192 Duplo
6 D250/AT 192 Duplo
7 D250/AT 192 Duplo
8 L195/AE 195 Lego
9 L12A/BA 195 Lego
10 L256/PE 256 Lego

关于python - Pandas 用多个键引用 NaN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49669492/

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