Лемматизация текста в pyspark возвращает TypeError: объект 'Column' не вызывается - PullRequest
0 голосов
/ 06 февраля 2020

Я потратил много времени, пытаясь найти решение этой проблемы. Я работаю с pyspark на фрейме данных текстового столбца, который я токенизировал, и пытаюсь его лемматизировать, используя nltk, но это возвращает ошибку: TypeError: 'Column' object is not callable. Мой код следующий:

def lemmatize(fullCorpus):
    lemmatizer = nltk.stem.WordNetLemmatizer()
    lemmatized = fullCorpus['filtered'].apply(lambda row: list(list(map(lemmatizer.lemmatize,y)) for y in row))
    return lemmatized

Вышеприведенная функция работает нормально, пока я не хочу применить ее к моему столбцу строки данных:

election.withColumn("filtered", lemmatize(col("filtered")))

Где выборка - это мой кадр данных и "отфильтрованный" это столбец, который я хотел бы лемматизировать

Возвращает следующую ошибку: AttributeError: 'DataFrame' object has no attribute 'col' Я пробовал много способов, таких как использование функции f, но тщетно: election.withColumn("filtered", lemmatize(f.col("filtered")))

Я также пробовал map и применить функция на моем фрейме данных, и он выдал эту ошибку: AttributeError: 'DataFrame' object has no attribute 'apply'

...