【发布时间】:2021-04-09 14:17:49
【问题描述】:
我正在尝试使用 langdetect 删除文本中所有非英语的语言。
def det(x):
try:
language = detect(x)
except:
language = 'Other'
return language
df['langue'] = df['Tweet'].apply(det)
filtered_for_english = df.loc[df['langue'] == 'en']
上面的代码是我试过的。它会检测每条推文中使用的语言,但不会从我的数据框中删除非英语推文。
生成的数据框:
0 es
1 es
2 es
3 en
4 en
..
14272 en
14273 en
14274 en
14275 it
14276 en
Name: langue, Length: 14277, dtype: object
如何修复此代码?
【问题讨论】:
-
生成的数据框是什么?您可以通过
print(set(filtered_for_english['langue']))来查看结果中的各种语言。 -
我已经编辑了我的问题以显示生成的数据框。由此我仍然可以看出我的数据框中有非英文文本。
-
你也可以试试这个:
filtered_for_english = df[df['langue'].str.contains('en')]
标签: python pandas twitter nlp language-detection