Лямбда на Питоне 3 - PullRequest
       10

Лямбда на Питоне 3

0 голосов
/ 17 января 2019

У меня есть датафрейм с 2 столбцами, и я хочу разделить его на два массива. Я знаю, что с Python 2 я мог бы использовать это:

result = spark.sql("SELECT acoustic_data, time_to_failure from df order by acoustic_data asc")
result_rdd = result.rdd.sample(False, 0.0001).map(lambda row: (row.acoustic_data, row.time_to_failure))
result_signal = result_rdd.filter(lambda (acoustic_data, time_to_failure): acoustic_data).collect()

И то же самое с другими столбцами.

Но если я попытаюсь сделать это сейчас, я получу эту ошибку:

TypeError: () отсутствует 1 обязательный позиционный аргумент: 'Time_to_failure'

result_rdd возвращает это:

result_rdd

Так что я хочу взять из него 2 массива.

Привет

1 Ответ

0 голосов
/ 17 января 2019

Python 3 удален параметр кортежа при распаковке , так что это больше не работает:

lambda (acoustic_data, time_to_failure): acoustic_data

Замените его на что-то вроде:

lambda acoustic_data_and_time_to_failure: acoustic_data_and_time_to_failure[0]
...