1
GavinFlying 2016-09-15 10:07:15 +08:00
如果是 Pandas :
```python num_list = [1, 2, 3, 4] df = pd.DataFrame(data=num_list) df.cumsum() ``` 如果不用 Pandas: ```python num_list = [1, 2, 3, 4] [sum(num_list[:idx]) for idx in range(1, len(num_list) + 1)] ``` |
2
sylvos OP 谢谢,前辈,第一个是我想要的,非常感谢啊,我原来还想 reduce 什么的
|
3
sylvos OP @GavinFlying
谢谢,第一个是我想要的,非常感谢啊,我原来还想 reduce 什么的 |
4
sylvos OP @GavinFlying 可以再问你个 pandas 问题吗?生成累加列,因为之前 groupby 过,如何还原回去。就是要与 groupby 之前的数据结构一致
|
5
sylvos OP @GavinFlying 我想到的笨办法是把 groupby 的结果用 pd.concat 接合起来
|
6
GavinFlying 2016-09-15 10:36:15 +08:00
@sylvos Sorry, 并不懂...感觉应该要自己实现
|
7
dgkae 2016-09-15 11:08:39 +08:00
厉害哦
|
8
imn1 2016-09-15 12:35:09 +08:00
这些类似的逐行计算的,属于移动统计范畴,你需要看 pandas 手册, computational tools 这一章
|
9
mfinal 2016-09-15 13:08:00 +08:00
@sylvos groupby 一般是不可逆的,不确定你想变回原来什么样子,因为原 df 是不受影响的,可能你需要试试 reset_index ,在 stackoverflow 上都有
|