gpt4 book ai didi

python - Pandas :drop_duplicates().fillna(0) 不填充零

转载 作者:行者123 更新时间:2023-11-28 22:21:24 24 4
gpt4 key购买 nike

我正在尝试从系列中删除重复项,然后用 0 填充 NaN。应该非常简单,但是当我将这两个函数链接在一起时,我仍然会在我期望的位置得到 NaN 0.0

df = pd.DataFrame({'a':[1,1,2,3,3,4], 'b':[10,20,30,40,50,60]})
df['a'] = df['a'].drop_duplicates().fillna(0)

产量:

     a   b
0 1.0 10
1 NaN 20
2 2.0 30
3 3.0 40
4 NaN 50
5 4.0 60

鉴于:

df['a'] = df['a'].drop_duplicates()
df['a'] = df['a'].fillna(0)

工作正常,但似乎不必要地冗长。

我正在使用 pandas 0.20.3。

最佳答案

因为 drop_duplicates 删除了元素,所以您的结果比您分配回的数据框更小。这会导致索引不匹配。

或者,使用 mask/whereduplicated -

df['a'] = df['a'].mask(df['a'].duplicated(), 0)

或者,

df['a'] = df['a'].where(~df['a'].duplicated(), 0)
df

a b
0 1 10
1 0 20
2 2 30
3 3 40
4 0 50
5 4 60

关于python - Pandas :drop_duplicates().fillna(0) 不填充零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48356278/

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