python-在熊猫中按组重新采样聚合
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-在熊猫中按组重新采样聚合,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1958字,纯文字阅读大概需要3分钟。
内容图文
![python-在熊猫中按组重新采样聚合](/upload/InfoBanner/zyjiaocheng/682/36a661ed46f746219dc49a0c7dc9ddf0.jpg)
考虑如下数据框
ID A B date
0 0C0003fi8E 6 10 2015-04-01
1 0C0AD3fi4S 10 15 2015-04-01
2 0C0AD3flmn 60 22 2015-04-01
3 0C0003fi8E 10 40 2015-04-02
4 0C0AD3fi4S 8 15 2015-04-02
5 0CaAD3flmn 33 18 2015-04-02
6 0C0003fi8E 10 19 2015-04-03
7 0C0AD3fi4S 8 25 2015-04-03
8 0CaAD3flmn 33 20 2015-04-03
9 0C0003fi8E 75 11 2015-04-04
10 0C0AD3fi4S 4 37 2015-04-04
11 0CaAD3flmn 28 80 2015-04-04
...
我需要连续两天为每个ID汇总A和B.
对于每个ID和每X天,结果应该只是A和B的一个值.
例如,对ID使用每两天一次的采样频率:
ID A B date
0C0003fi8E 16 50 2015-04-01
0C0AD3fi4S 18 30 2015-04-01
0C0AD3flmn 93 40 2015-04-01
0C0003fi8E 95 30 2015-04-03
0C0AD3fi4S 12 52 2015-04-03
0CaAD3flmn 61 100 2015-04-03
如何在熊猫中做到这一点?
如果我想使用更灵活的时间段进行重新采样怎么办?例如.每周还是每月?可以使用resample吗?
解决方法:
如果将日期设置为索引,则可以使用TimeGrouper:
In [11]: df1.groupby(["ID", pd.TimeGrouper("d")]).sum()
Out[11]:
A B
ID date
0C0003fi8E 2015-04-01 6 10
2015-04-02 10 40
2015-04-03 10 19
2015-04-04 75 11
0C0AD3fi4S 2015-04-01 10 15
2015-04-02 8 15
2015-04-03 8 25
2015-04-04 4 37
0C0AD3flmn 2015-04-01 60 22
0CaAD3flmn 2015-04-02 33 18
2015-04-03 33 20
2015-04-04 28 80
In [12]: df1.groupby(["ID", pd.TimeGrouper("2d")]).sum()
Out[12]:
A B
ID date
0C0003fi8E 2015-04-01 16 50
2015-04-03 85 30
0C0AD3fi4S 2015-04-01 18 30
2015-04-03 12 62
0C0AD3flmn 2015-04-01 60 22
0CaAD3flmn 2015-04-01 33 18
2015-04-03 61 100
注意:如有必要,您可以使用reset_index来旋转索引列.
这不是在文档中明确指定的,而是several examples in the cookbook.
内容总结
以上是互联网集市为您收集整理的python-在熊猫中按组重新采样聚合全部内容,希望文章能够帮你解决python-在熊猫中按组重新采样聚合所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。