如何解决在Pandas中加速/多线程分组和滚动操作
我有一个大的数据集(40M +)行,我的代码需要很长时间才能执行。它仅在一个CPU上运行。有什么方法可以加快这些操作?我尝试使用modin.pandas代替pandas,但是没有任何改善。我也在考虑使用数据表库,但我对数据表语法不熟悉。
for days in range (1,31):
score = data.groupby(['id'])['score'].rolling(str(days)+'D').mean().groupby(['id','date']).last()
frequency = data.groupby(['id'])['score'].rolling(str(days)+'D').count().groupby(['id','date']).last()
第一个groupby根据id计算滚动平均值或计数。滚动是几天而不是行数,因为每天可以有多行。 第二组byby确保将对最后日期的所有观察都考虑在内。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。