我有一个火花数据框,其中包含> 1200列,并且需要按行取列集合的平均值,不包括零值。
例如,对于以下数据框
id | col1 | col2 | col3
1 | 0 | 2 | 3
2 | 4 | 2 | 3
3 | 1 | 0 | 3
4 | 0 | 0 | 0
我希望:
id | mean
1 | 2.5
2 | 3
3 | 2
4 | 0
在Python中,我知道使用类似的策略可以实现类似的目的
data[data == 0] = np.nan
means = np.nanmean(data[:, 1:], axis=1)
但是我不确定如何在pySpark中执行相同的操作。
答案 0 :(得分:3)
您可以使用类似以下的内容
channels:history