Els*_* Li 5 python grouping bigdata pandas
df = df.groupby(df.index).sum()
我有一个包含380万行(单列)的数据框,并且我试图按索引对它们进行分组。但是,它需要永远完成计算。是否有其他方法可以处理非常大的数据集?提前致谢!!!!
我正在用Python编写。
数据如下所示。索引是客户ID。我想组qty_liter通过Index。
df = df.groupby(df.index).sum()
但是这一行代码花了太多时间.....
有关此df的信息如下:
df.info()
<class 'pandas.core.frame.DataFrame'>
Index: 3842595 entries, -2147153165 to \N
Data columns (total 1 columns):
qty_liter object
dtypes: object(1)
memory usage: 58.6+ MB
问题是您的数据不是数字。处理字符串比处理数字花费的时间长得多。先试试这个:
df.index = df.index.astype(int)
df.qty_liter = df.qty_liter.astype(float)
Run Code Online (Sandbox Code Playgroud)
然后再做groupby()。它应该快得多。如果是,请查看是否可以修改数据加载步骤以从一开始就拥有正确的 dtype。