推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
sylvos
V2EX  ›  Python

pandas 生成一列是另一列的累加结果,怎么做

  •  
  •   sylvos · Sep 15, 2016 via iPhone · 11927 views
    This topic created in 3551 days ago, the information mentioned may be changed or developed.
    请前辈指点下
    比如a=[1.2.3.4]
    生成的要[1.3.6.10]
    11 replies    2016-09-15 15:51:09 +08:00
    GavinFlying
        1
    GavinFlying  
       Sep 15, 2016
    如果是 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)]
    ```
    sylvos
        2
    sylvos  
    OP
       Sep 15, 2016 via iPhone
    谢谢,前辈,第一个是我想要的,非常感谢啊,我原来还想 reduce 什么的
    sylvos
        3
    sylvos  
    OP
       Sep 15, 2016 via iPhone
    @GavinFlying
    谢谢,第一个是我想要的,非常感谢啊,我原来还想 reduce 什么的
    sylvos
        4
    sylvos  
    OP
       Sep 15, 2016 via iPhone
    @GavinFlying 可以再问你个 pandas 问题吗?生成累加列,因为之前 groupby 过,如何还原回去。就是要与 groupby 之前的数据结构一致
    sylvos
        5
    sylvos  
    OP
       Sep 15, 2016 via iPhone
    @GavinFlying 我想到的笨办法是把 groupby 的结果用 pd.concat 接合起来
    GavinFlying
        6
    GavinFlying  
       Sep 15, 2016
    @sylvos Sorry, 并不懂...感觉应该要自己实现
    dgkae
        7
    dgkae  
       Sep 15, 2016
    厉害哦
    imn1
        8
    imn1  
       Sep 15, 2016
    这些类似的逐行计算的,属于移动统计范畴,你需要看 pandas 手册, computational tools 这一章
    mfinal
        9
    mfinal  
       Sep 15, 2016
    @sylvos groupby 一般是不可逆的,不确定你想变回原来什么样子,因为原 df 是不受影响的,可能你需要试试 reset_index ,在 stackoverflow 上都有
    sylvos
        10
    sylvos  
    OP
       Sep 15, 2016 via iPhone
    @mfinal 因为我需要把前面得到的累加列更新到原 df 里面,但又只能单 group 做累加。
    sylvos
        11
    sylvos  
    OP
       Sep 15, 2016 via iPhone
    @imn1 谢谢你
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1074 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 18:26 · PVG 02:26 · LAX 11:26 · JFK 14:26
    ♥ Do have faith in what you're doing.