У меня есть искровой фрейм данных, состоящий из> 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.