我想知道是否有更快的方法在熊猫中运行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,几乎如此处所示,但需要几分钟。有没有办法让它更快?
谢谢!