如何解决如何在熊猫列中增加价值?
我有一个数据框
import pandas as pd
data = {'a': [1,2,3,None,4,5,None]}
df = pd.DataFrame(data)
print(df)
a
0 1.0
1 2.0
2 3.0
3 NaN
4 4.0
5 NaN
6 2.0
7 4.0
8 5.0
9 NaN
我想增加数值直到NaN出现。一旦获得NaN,它将停止并从头开始。
a b
0 1.0 6
1 2.0 6
2 3.0 6
3 NaN NaN
4 4.0 4
5 NaN NaN
6 2.0 11
7 4.0 11
8 5.0 11
9 NaN NaN
我该如何实现?
预先感谢
解决方法
使用cumsum
创建groupby
键,然后使用transform
mask
df.a.groupby(df.a.isnull().cumsum()).transform('sum').mask(df.a.isnull())
0 6.0
1 6.0
2 6.0
3 NaN
4 4.0
5 NaN
6 11.0
7 11.0
8 11.0
9 NaN
Name: a,dtype: float64
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。