使用langdetect在大熊猫数据帧中计算语言频率

问题描述 投票:1回答:1

我想在推文数据集中找到不同语言的频率。我最终只想使用英语的推文,但也想了解其他语言的频率。

我已经使用langdetect在数据集中检测到推文的语言,现在我想计算每种语言的频率。这是我用于检测语言的代码:

from langdetect import detect    
import pandas as pd
data_path = "./output_1.csv"
df =  pd.read_csv(data_path, index_col=0)

for index, row in df.iterrows():
    print(detect(row['text']))
    if detect(row['text']) == "en":
        print(row['text'])

我想使用列表属性计数来计数频率:

using the list i = ['en','fr','es','it','cs','pt']
d = {x:i.count(x) for x in i}
print d

我如何在使用langdetect获得的数据上使用count属性?

python pandas frequency
1个回答
0
投票

要创建一个单独的包含您可以使用的语言的列:

df['language'] = df['text'].apply(lambda x: detect(x))

然后计算您可以执行的频率:

pd.DataFrame(df.groupby('language').text.count().sort_values(ascending=False))
© www.soinside.com 2019 - 2024. All rights reserved.