gpt4 book ai didi

python - 保留 DataFrame 中列的第一个元素

转载 作者:行者123 更新时间:2023-12-04 12:09:07 25 4
gpt4 key购买 nike

我有一个这样的 DataFrame。

>>> df = pd.DataFrame([[3., 0, 0], [0, 3., 0], [0, 0, 0], [0, 6., 6.], [1., 0, 0], [2., 5., 0]]).T
>>> df
0 1 2 3 4 5
0 3.0 0.0 0.0 0.0 1.0 2.0
1 0.0 3.0 0.0 6.0 0.0 5.0
2 0.0 0.0 0.0 6.0 0.0 0.0
我想要做的是逐列保留第一个元素,用零替换其他非零值。
>>> expected
0 1 2 3 4 5
0 3.0 0.0 0.0 0.0 1.0 2.0
1 0.0 3.0 0.0 6.0 0.0 0.0
2 0.0 0.0 0.0 0.0 0.0 0.0
我的目标是获得一系列第一个元素,我想通过 sum() 来做到这一点。 ,所以我需要列中其他元素的零值。
>>> expected.sum()
0 3.0
1 3.0
2 0.0
3 6.0
4 1.0
5 2.0
dtype: float64
非常感谢您提前。

最佳答案

然后屏蔽零 bfill并使用 iloc 选择第一行

df[df != 0].bfill().iloc[0].fillna(0)
0    3.0
1 3.0
2 0.0
3 6.0
4 1.0
5 2.0
Name: 0, dtype: float64

关于python - 保留 DataFrame 中列的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68253190/

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