当前位置: 首页 > 知识库问答 >
问题:

删除非英语行熊猫[复制]

漆雕伟志
2023-03-14

df.审查:

de la nada mi ya no se escucha 
I tried to set it up 
It is a good product

目的是删除非英文行。我试过这个和这个,但都没用。下面的代码错误地将所有行标记为英语。

from langdetect import detect
df['detect'] = detect(str(df['review']))

for i in df.detect:
    if i not in ('en'):
        df.drop(i)

共有1个答案

喻元龙
2023-03-14

问题是,您正在将series对象传递给不知道如何处理它的函数。要传递单个值,请使用transform或apply。请参阅下面的代码

df['detect'] = df['review'].apply(detect)

这应该会给你一个包含评论语言的专栏,如果你想删除这些专栏,你可以这样做

df = df[df['detect'] == 'en']

如果出现异常“文本中没有特征”,则表示列中的某些行不包含字母。在这种情况下,需要删除这些行。python中没有检查字符串是否包含至少一个字母的函数,要解决这个问题,可以将列中的所有字符串更改为小写,然后检查字符串中的所有字母是否都是小写。如果根本没有字母,它将返回false。检查代码

df['detect'] = df['detect'].str.lower()
df = df[df['detect'].str.islower()]
 类似资料:
  • 问题内容: 我已经尝试解决这个问题一段时间了,我试图从DB_user列中删除非ASCII字符并尝试将它们替换为空格。但是我不断出错。这是我的数据框的外观: 我正在使用此功能,这是我在研究SO问题时遇到的。 我不断收到错误: 但是,我认为通过使用filter_func函数中的循环,可以通过在’ord’中输入一个char来解决这个问题。因此,当它遇到非ASCII字符时,应将其替换为空格。 有人可以帮我

  • 问题内容: 有一个像下面这样的数据框,它有一个不干净的列“ id”,它应该是数字列 是否有一种简洁的方法删除行,因为tt和de不是数值 使数据框干净? 问题答案: 您可以使用标准的字符串方法,并将其应用于列中的每个值: 或者,如果您想用作索引,则可以执行以下操作: 编辑。添加时间 虽然情况下与未使用的方法,它比与施加慢几乎两倍于列。另外,我使用pandas添加了选项,它键入的次数更少,但使用起来还

  • 我有一个6000行数据框,我想删除所有值小于2的行。我目前的尝试是:df=煤[煤['值'] 我已经附上了我的df的快照,我想删除较小的值。我对python还是比较陌生的,所以请容忍我。 https://i.stack.imgur.com/3mbA7.png

  • 我开始学习熊猫,发现了一个我似乎无法解决的问题。我正在从csv文件加载数据,需要删除一些与几个字符串匹配的行。 CSV: 我所尝试的: 但我得到的错误如下: 我错过了什么?另外,如果我想传递一个列表并从列表中删除所有匹配字符串的行,该怎么办?例子:

  • 我正在努力去除nans。已经花了一些时间寻找解决方案,但似乎没有任何效果。 下面我附上我的代码样本。整个笔记本可以在我的GitHub这里找到:https://GitHub . com/jarsonX/Temp _ files/blob/main/W3-探索性数据分析(1)。ipynb 我错过了什么? 更新: 我设法过滤掉了南斯: