Получение списка нежелательно при использовании применить к панде DataFrame - PullRequest
1 голос
/ 14 октября 2019

У меня есть DataFrame df, у которого есть список в каждой строке, и я хочу применить функцию remove_stops к каждой строке.

import pandas as pd
from nltk.corpus import stopwords
stop = stopwords.words('english')

def remove_stops(row):
    meaningful_words = [w for w in row if not w in stop]
    return meaningful_words

df.apply(remove_stops)

Когда я запускаю код,Я получаю следующую ошибку

meaningful_words = [w for w in row if not w in stop]
TypeError: ("unhashable type: 'list'", 'occurred at index original')

После некоторого исследования я понял, что ошибка вызвана тем, что списки не являются изменяемыми.

print(type(df))
print(type(df.iloc[0, 0]))
<class 'pandas.core.frame.DataFrame'>
<class 'list'>

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 14 октября 2019

После явного использования имени столбца я хотел применить код, как и ожидалось

df['original'].apply(remove_stops)

Я смог запустить, как предполагалось. Спасибо за быстрые ответы.

...