Получение стандартного отклонения каждой строки - PullRequest
0 голосов
/ 04 августа 2020

У меня есть фрейм данных, который выглядит следующим образом:

id   volume
1    [1,2,5,1]
2    [3,2,5,1]
3    [8,72,9,1]

Мне нужно получить стандартное отклонение каждой строки столбца объема, например, конечный результат должен выглядеть так:

id   volume      std
1    [1,2,5,1]   1.6393
2    [3,2,5,1]   1.4790
3    [8,72,9,1]  29.936

Я пробовал это:

from pyspark.sql.functions import udf
from pyspark.sql.types import *

import statistics
std_arr = udf(lambda x: statistics.pstdev(x), FloatType())
std_df = df.withColumn("std", std_arr(F.col("volume")))

Что должно работать, однако я получаю эту ошибку:

Exception: Python in worker has different version 2.7 than that in driver 3.6, PySpark cannot run with different minor versions.Please check environment variables PYSPARK_PYTHON and PYSPARK_DRIVER_PYTHON are correctly set.

Я не могу изменить свои python версии однако я не уверен, что вызывает эту ошибку.

...