LangDetect 中如何查看是哪一行产生了 LangDetectException 错误?
How to check which row in producing LangDetectException error in LangDetect?
我有一个推文数据集,其中包含主要来自英语的推文,但也有一些印度语言的推文(例如旁遮普语、印地语、泰米尔语等)。我只想保留英语推文并删除包含不同语言推文的行。
我尝试了这个 [ 并且它适用于示例数据集。但是,当我在我的数据集上尝试它时,它显示错误:
LangDetectException: No features in text.
此外,我已经检查了其他问题 [
适用于示例数据但不适用于原始数据的简单代码:
from langdetect import detect
import pandas as pd
df = pd.read_csv('Sample.csv')
df_new = df[df.text.apply(detect).eq('en')]
print('New df is: ', df_new)
如何检查哪一行产生了错误?
提前致谢!
为 return 使用自定义函数 True
如果函数 detect
失败:
df = pd.read_csv('Sample.csv')
def f(x):
try:
detect(x)
return False
except:
return True
s = df.loc[df.text.apply(f), 'text']
另一个想法是创建由 detect
填充的新列,如果失败 return NaN
,最后将缺少值的行过滤到 df1
和 df_new
新列由函数 detect
:
的输出填充
df = pd.read_csv('Sample.csv')
def f1(x):
try:
return detect(x)
except:
return np.nan
df['new'] = df.text.apply(f1)
df1 = df[df.new.isna()]
df_new = df[df.new.eq('en')]
我有一个推文数据集,其中包含主要来自英语的推文,但也有一些印度语言的推文(例如旁遮普语、印地语、泰米尔语等)。我只想保留英语推文并删除包含不同语言推文的行。
我尝试了这个 [
LangDetectException: No features in text.
此外,我已经检查了其他问题 [
适用于示例数据但不适用于原始数据的简单代码:
from langdetect import detect
import pandas as pd
df = pd.read_csv('Sample.csv')
df_new = df[df.text.apply(detect).eq('en')]
print('New df is: ', df_new)
如何检查哪一行产生了错误?
提前致谢!
为 return 使用自定义函数 True
如果函数 detect
失败:
df = pd.read_csv('Sample.csv')
def f(x):
try:
detect(x)
return False
except:
return True
s = df.loc[df.text.apply(f), 'text']
另一个想法是创建由 detect
填充的新列,如果失败 return NaN
,最后将缺少值的行过滤到 df1
和 df_new
新列由函数 detect
:
df = pd.read_csv('Sample.csv')
def f1(x):
try:
return detect(x)
except:
return np.nan
df['new'] = df.text.apply(f1)
df1 = df[df.new.isna()]
df_new = df[df.new.eq('en')]