Я добавляю несколько наборов данных вместе, к сожалению, в сборе данных некоторые сборщики данных добавили перевод к английскому вопросу.
df ['Как вас зовут'] в других наборах данных обозначается как df ['Как вас зовут Como te llamas ']
В идеале мне бы хотелось, чтобы df [' Как вас зовут ']
Это верно для столбца имени, как и для многих других столбцов (возраст, жилье и т. д.).
Я использую nltk, чтобы избавиться от всех неанглийских слов в именах столбцов, используя следующий код:
df_t.columns = " ".join(w for w in nltk.wordpunct_tokenize(df_t.columns)
if w.lower() in words or not w.isalpha())
Но я получаю следующееошибка ошибка:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-21-65a4c079ba1a> in <module>()
34 df_t['File Name'] = df_t['File Name'].str.strip().str[-30:]
35 df_t.columns = df_t.columns.str.replace(r'(^.*female.*$)', 'n_female_workers')
---> 36 df_t.columns = " ".join(w for w in nltk.wordpunct_tokenize(df_t.columns) if w.lower() in words or not w.isalpha())
37
38 list_month.append(df_t)
~\Anaconda3\lib\site-packages\nltk\tokenize\regexp.py in tokenize(self, text)
129 # If our regexp matches tokens, use re.findall:
130 else:
--> 131 return self._regexp.findall(text)
132
133 def span_tokenize(self, text):
TypeError: expected string or bytes-like object
Как ее решить?