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