Python 是否有一种方法可以基于同一列中的值的参数来折叠dataframe列中的值?

Python 是否有一种方法可以基于同一列中的值的参数来折叠dataframe列中的值?,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个日期和值的数据框架。即 index | date | points 0 | 9-15-17 | 10.2 1 | 9-15-17 | 5.0 2 | 9-15-17 | -3.0 3 | 9-15-17 | -1.6 4 | 9-15-17 | 3.8 5 | 9-15-17 | 7.0 6 | 9-15-17 | 4.6 有没有

我有一个日期和值的数据框架。即

    index |   date   | points 
      0   |  9-15-17 |  10.2
      1   |  9-15-17 |  5.0
      2   |  9-15-17 |  -3.0
      3   |  9-15-17 |  -1.6
      4   |  9-15-17 |  3.8
      5   |  9-15-17 |  7.0
      6   |  9-15-17 |  4.6
有没有办法利用pandas中的groupby将数据帧折叠成

   index |   date   | points
     0   |  9-15-17 |  15.2
     1   |  9-15-17 |  -4.6
     2   |  9-15-17 |  15.4
我目前正在发送date列,指向列表,并使用多个循环检查值(Dataframe是C_列表)

net_分数=0
滚动分数=[]
打印(类型(int(C_列表[0]))
对于范围(0,len(C_列表))中的i:
如果C_列表[i]>0:
如果(净分数+C分数列表[i]>净分数):
净分数+=C\U列表[i]
其他:
滚动分数。追加(净分数)
净分数=0
净分数+=C\U列表[i]
如果C_列表[i]<0:
如果(净分数+C分数列表[i]<净分数):
净分数+=C\U列表[i]
其他:
滚动投资追加(净投资)
净投资=0
净库存+=C库存清单[i]
出于某种原因,我得到了一个列表:[15.2,-3.0],因此当我出于某种原因到达负值时,它停止添加值。我意识到在dataframe中可能有一种更简单的方法来实现这一点,但我很难理解如何正确地利用熊猫来实现这一点。与其说我在寻找完整的代码,不如说我在寻找一些见解,看看这是否可以在dataframe中轻松实现,以及建议使用的函数是什么

m=df['points'].lt(0).ne(df['points'].lt(0).shift()).cumsum()
df1= df.groupby([m,'date']).sum().drop(columns=['index'])
df1.index = df1.index.droplevel(0)
df1.reset_index(inplace=True)
print(df1)
输出

       date     points
0   9-15-17     15.2
1   9-15-17     -4.6
2   9-15-17     15.4

也许一个想法是为不同的组添加另一个相同的索引,然后应用groupby。哇,谢谢!“lt”和“ne”函数是我完全不熟悉的,很高兴能帮上忙。考虑投票和接受答案。
       date     points
0   9-15-17     15.2
1   9-15-17     -4.6
2   9-15-17     15.4