Применить словарь к столбцу фрейма данных, содержащему строки

#pandas #dictionary #normalization

#pandas #словарь #нормализация

Вопрос:

Я пытаюсь применить словарь к столбцу фрейма данных, который содержит строки строк, например:

0 [некоторые, текст и т. Д…

1 [другое, текст…

И использовали приведенный ниже код, который работает с одной строкой, но не для фрейма данных:

 dict = pd.read_csv(r'C:Usersdictionary.csv', header=None, dtype={0: str}).set_index(0).squeeze().to_dict()

def dictionary(text):
    for x in dict:
        for y in text:
            if dict[x][0] == y:
                        y == x[1]
            
                        text = ' '.join(dict.get(y, y) for y in text)
                        return
                
df['Processed'] = df['Processed'].apply(dictionary)
df['Processed']
 

выдает следующую ошибку

 <ipython-input-75-decedde15a18> in dictionary(text)
      5 def dictionary(text):
      6     for x in dict:
----> 7         for y in text:
      8             if dict[x][0] == y:
      9                         y == x[1]

TypeError: 'NoneType' object is not iterable
 

Ценю любую помощь / рекомендации относительно того, что я делаю неправильно! Спасибо

Ответ №1:

Эта ошибка может возникнуть, если у вас есть значение NaN в вашем ряду данных