pandas.groupby中的Cumsum很慢

时间:2015-02-11 11:30:40

标签: python pandas cumsum large-data

我想知道是否有更快的方法在熊猫中运行cumsum。

例如:

import numpy as np
import pandas as pd

n = 10000000

values = np.random.randint(1, 100000, n)
ids = values.astype("S10")

df = pd.DataFrame({"ids": ids, "val": values})

现在,我想使用ID进行分组并获取一些统计信息。 例如,max非常快:

 time df.groupby("ids").val.max()

CPU时间:用户5.08秒,sys:131毫秒,总计:5.21秒 停电时间:5.22秒

然而,cumsum非常慢:

time df.groupby("ids").val.cumsum()

CPU时间:用户26.8 s,sys:707 ms,总计:27.5 s 壁挂时间:27.6秒

我的问题是我需要按大数据集中的键分组的cumsum,几乎如此处所示,但需要几分钟。有没有办法让它更快?

谢谢!

0 个答案:

没有答案