首页 > 解决方案 > 用 dask 对列进行平均

问题描述

我是一个数据框的新手,并且在一些基本的想法上很挣扎。我想在每行的几列(例如,x、y 和 z 运动以获得幅度)中取平均值。一些虚拟数据:

'time', 'x', 'y', 'z'
1, 1.3, 0.1, 2.2   
2, 1.2, 0.5, 2.0    
3, 1.5, 0.3, 2.0  
4, 1.3, 0.0, 2.5 
5, 1.1, 0.3, 2.3

我以为我正在做一些有groupby()但没有骰子的事情。

grouped_df = df.groupby('x', 'y', 'z').mean()
print(grouped_df.head())

只打印原始数据框,所以我不确定该函数在做什么。

我对如何前进完全不知所措,任何指针表示赞赏!

标签: pythondataframeparallel-processingdask

解决方案


似乎您并不真正需要groupby(方法名称可以有不同的解释,但它的作用是根据传递的列的值对行进行分组)。相反,您正在寻找.mean(不带groupby):

cols_to_mean = ['x', 'y', 'z']
df['mean_of_cols'] = df[cols_to_mean].mean(axis=1)
df.head()

推荐阅读