Date n
2014-02-27 4
2014-02-28 5
2014-03-01 1
2014-03-02 6
2014-03-03 7
我正试图找到一个看起来像这样的人
Date n csn
2014-02-27 4 4
2014-02-28 5 9
2014-03-01 1 1
2014-03-02 6 7
2014-03-03 7 14
…即.我想要一个月内运行总计的列,我想让它从每个月开始.我怎样才能做到这一点?
解决方法:
使用.groupby(),但不要只按月分组,而是按年份分组.或者2013-02将与2014-02等同组.
In [96]:
df['Month']=df['Date'].apply(lambda x: x[:7])
In [97]:
df['csn']=df.groupby(['Month'])['n'].cumsum()
In [98]:
print df
Date n Month csn
0 2014-02-27 4 2014-02 4
1 2014-02-28 5 2014-02 9
2 2014-03-01 1 2014-03 1
3 2014-03-02 6 2014-03 7
4 2014-03-03 7 2014-03 14
[5 rows x 4 columns]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。