gpt4 book ai didi

python - 根据索引和列将填充的 DataFrame 合并到掩码中

转载 作者:行者123 更新时间:2023-12-02 18:28:32 24 4
gpt4 key购买 nike

使用以下“掩码”DataFrame:

>>> mask
city value_1 value_2
index
0 London 10 NaN
1 Paris NaN 21
2 Paris 30 NaN
3 Paris NaN NaN
4 Berlin 3 5
5 Berlin NaN 10
6 New York NaN NaN

以及以下“填充”框架:

>>> filling
value_1 value_2
London 1100 2100
Paris 1150 2200
Berlin NaN 3000
New York 5000 NaN

如何合并filling进入mask基于city AND 列,以便生成的 DataFrame 变为:

>>> result
city value_1 value_2
index
0 London 10 2100
1 Paris 1150 21
2 Paris 30 2200
3 Paris 1150 2200
4 Berlin 3 5
5 Berlin NaN 10
6 New York 5000 NaN

从概念上讲,可以是 mask 中的任何值即NaN容易被 filling 的值“填充”与 city 匹配及其列( value_1value_2 )。

我正在努力解决的部分是制作 DataFrame.merge()考虑索引(此处为 city )和所有列。两者都可以,但为了获得预期的结果,看起来我需要两者。

编辑:

我尝试过以下方法:

>>> expanded = mask[[]].join(filling, on='city')
>>> mask.merge(expanded)

但这只是给了我mask ,以及 expanded 中的所有值被简单地忽略(即使目标单元格是 NaN )。

最佳答案

尝试使用 fillnafillingreindex:

mask.fillna(filling.reindex(mask.city).set_index(mask.index))

输出:

           city  value_1  value_2
index
0 London 10.0 2100.0
1 Paris 1150.0 21.0
2 Paris 30.0 2200.0
3 Paris 1150.0 2200.0
4 Berlin 3.0 5.0
5 Berlin NaN 10.0
6 New York 5000.0 NaN

关于python - 根据索引和列将填充的 DataFrame 合并到掩码中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69757423/

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