Dask groupby 索引列
Dask groupby index column
我正在使用 dd.read_csv(s3://bucket/*)
从 s3 将大量 csv 文件(几千个)加载到 dask 中。这些文件有一个隐含的索引列(一个未命名的升序列):
有没有办法使用 ddf.groupby() 操作来按索引值对 csv 文件进行分组?我的最终目标是计算每个单元格的平均值,同时我一直在努力寻找在线答案。我试过使用 groupby(axis=0) 和 groupby(level=0) 之类的东西,但是 returns 是一个错误。
我唯一的其他想法是使用 for 循环通过目录加载文件并显式手动添加新的索引列——但这似乎是一个不必要的昂贵操作。
我注意到您的列是用值命名的。我推荐类似下面的内容来告诉 pandas 你的文件中没有 headers。
df = dd.read_csv(..., header=None)
那么您应该能够按适当的列进行分组。例如,如果第零列包含您的隐式索引,那么您可以使用如下代码计算其他一些列的平均值:
df.groupby(0)[[1, 3, 5].mean().compute()
我正在使用 dd.read_csv(s3://bucket/*)
从 s3 将大量 csv 文件(几千个)加载到 dask 中。这些文件有一个隐含的索引列(一个未命名的升序列):
有没有办法使用 ddf.groupby() 操作来按索引值对 csv 文件进行分组?我的最终目标是计算每个单元格的平均值,同时我一直在努力寻找在线答案。我试过使用 groupby(axis=0) 和 groupby(level=0) 之类的东西,但是 returns 是一个错误。
我唯一的其他想法是使用 for 循环通过目录加载文件并显式手动添加新的索引列——但这似乎是一个不必要的昂贵操作。
我注意到您的列是用值命名的。我推荐类似下面的内容来告诉 pandas 你的文件中没有 headers。
df = dd.read_csv(..., header=None)
那么您应该能够按适当的列进行分组。例如,如果第零列包含您的隐式索引,那么您可以使用如下代码计算其他一些列的平均值:
df.groupby(0)[[1, 3, 5].mean().compute()