Python 在值的符号发生变化后,如何重置累积和?

Python 在值的符号发生变化后,如何重置累积和?,python,pandas,dataframe,pandas-groupby,Python,Pandas,Dataframe,Pandas Groupby,我试图创建一个cumsum列,在数据列中发生符号更改后,它应该在该列中重置,如下所示 In [46]: d = np.random.randn(10, 1) * 2 In [47]: df = pd.DataFrame(d.astype(int), columns=['data']) 我可以通过df.iterrows()实现这一点。我试图避免ItError,并使用向量运算来实现它。关于什么时候有NaN,有几个问题。我无法用这些解决方案实现这个目标 创建groupby的新键,然后在每个组内执行

我试图创建一个cumsum列,在数据列中发生符号更改后,它应该在该列中重置,如下所示

In [46]: d = np.random.randn(10, 1) * 2

In [47]: df = pd.DataFrame(d.astype(int), columns=['data'])

我可以通过
df.iterrows()
实现这一点。我试图避免ItError,并使用向量运算来实现它。关于什么时候有NaN,有几个问题。我无法用这些解决方案实现这个目标

创建
groupby
的新键,然后在每个组内执行
cumsum

新建密钥创建:通过使用符号更改,如果我们添加了一个更改,那么它将属于嵌套组

   data  custom_cumsum
0    -2  -2
1    -1  -3 
2     1   1
3    -3  -3
4    -1  -4
5     2   2 
6     0   2 
7     3   5 
8    -1  -1 
9    -2  -3 

创建
groupby
的新键,然后在每个组内执行
cumsum

新建密钥创建:通过使用符号更改,如果我们添加了一个更改,那么它将属于嵌套组

   data  custom_cumsum
0    -2  -2
1    -1  -3 
2     1   1
3    -3  -3
4    -1  -4
5     2   2 
6     0   2 
7     3   5 
8    -1  -1 
9    -2  -3