Как применить nltk.pos_tag к фрейму данных pyspark - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь применить pos-теги к одному из моих столбцов с маркерами, которые называются «удаленные» в фрейме данных pyspark.

Я пытаюсь использовать

nltk.pos_tag(df_removed.select("removed"))

Но все, что я получаю, это Ошибка значения: ValueError: Cannot apply 'in' operator against a column: please use 'contains' in a string column or 'array_contains' function for an array column.

Как это сделать?

1 Ответ

0 голосов
/ 30 марта 2020

Кажется, ответ в сообщении об ошибке: ввод pos_tag должен быть строкой, а вы вводите столбец. Вы должны применить pos_tag к каждой строке вашего столбца, используя функцию withColumn

Например, вы начинаете с записи:

my_new_df = df_removed.withColumn("removed", nltk.pos_tag(df_removed.removed))

Вы также можете сделать:

my_new_df = df_removed.select("removed").rdd.map(lambda x: nltk.pos_tag(x)).toDF()

Здесь у вас есть документация.

...