Как мне удалить отрицательные значения из всех столбцов в фрейме данных Pyspark?

#python #pyspark

#python #pyspark

Вопрос:

Эй, ребята, я пытаюсь удалить отрицательные значения из фрейма данных pyspark. Я пробовал

 
from pyspark.sql.functions import udf

foo = udf(lambda x: not np.any(np.array(x)<0), BooleanType())
df.filter(foo('features')).show()
 

но я получаю сообщение об ошибке stage failure

Комментарии:

1. Вы хотите удалить отрицательное значение из всего фрейма данных или из определенного столбца?

Ответ №1:

Я считал, что ваше имя фрейма данных — df, и вы хотите удалить отрицательное значение из столбца «функции»

Попробуйте приведенные ниже коды

 df = df.withColumn('flag', f.when(df["features"] < 0, 0).otherwise(1)).
        filter('flag == "1"').
        drop("flag")