gpt4 book ai didi

python - 如何为 pandas 数据框行中的每个新分组分配数值?

转载 作者:行者123 更新时间:2023-12-01 08:18:10 25 4
gpt4 key购买 nike

如果我有一个像这样的 Pandas 数据框:

     0   1   2   3   4   5
1 NaN NaN 1 NaN 1 1
2 1 NaN NaN 1 NaN 1
3 NaN 1 1 NaN 1 1
4 1 1 1 1 1 1
5 NaN NaN NaN NaN NaN NaN

如何计算每组的数量并根据每行中的组数分配一个值?这样我就得到了这样的数据框:

     0   1   2   3   4   5
1 NaN NaN 1 NaN 2 2
2 1 NaN NaN 2 NaN 3
3 NaN 1 NaN NaN 2 2
4 1 1 1 1 1 1
5 NaN NaN NaN NaN NaN NaN

最佳答案

找到一个简单的方法有点困难

s=df.isnull().cumsum(1) # cumsum get the null 
s=s[df.notnull()].apply(lambda x : pd.factorize(x)[0],1)+1 # then we need assign the groukey
df=s.mask(s==0)# and mask 0 as NaN
df
0 1 2 3 4 5
1 NaN NaN 1.0 NaN 2.0 2.0
2 1.0 NaN NaN 2.0 NaN 3.0
3 NaN 1.0 1.0 NaN 2.0 2.0
4 1.0 1.0 1.0 1.0 1.0 1.0
5 NaN NaN NaN NaN NaN NaN

关于python - 如何为 pandas 数据框行中的每个新分组分配数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54857078/

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