如果文本不是英文,则删除整行数据框

Drop a whole row of the dataframe if the text its not in English

我有一个通过 sql 查询生成的数据框。

数据框只包含文本,更具体地用英语和德语描述。

我想删除德语描述或创建一个仅包含英语描述的新数据框。

描述从 150-1000 字不等。

我正在使用 TextBloB 模块,如下所示:

from textblob import TextBlob

test = reindexed_data.head()

for adv in test:

    x = TextBlob(adv)
    print(x.detect_language())

我在哪里获得所需的值:

pl
de
en
de
de

我是 pandas 框架的新手,我不确定如何删除行 创建一个只有英文描述的新数据框。

我还注意到,对于 5 行,TextBlop 需要大约 6 秒,有 5000 行,所以如果有不同的库或方法,请建议我。

总而言之 up:How 我可以删除德语的行吗?如果有另一个库可以使这个过程更快?

非常感谢任何帮助! 提前谢谢你。

数据帧结构

    0    zzCHzz
    1    Über Campusjäger GmbH Als Recruiter verbindet ...
    2    ALPADIA Language Schools is specialized in org...
    3    IT-KONTOR ist einer der führenden IT-Dienstlei...
    4    Kennziffer 59476PL       Unser Kunde ist ein d...

Name: JobAdd, dtype: object

您可以存储那些被识别为 "en" 的行的索引。然后将该索引用于 select 数据帧的一个子集:

test = reindexed_data.head()
indices = []
index = 0
for adv in test:
    x = TextBlob(adv)
    if (x.detect_language() == "en"):
        indices.append(index)
    index+=1

test_en = test.loc[indices]