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