如何在python中将语言ISO639-1代码转换为语言名称?

问题描述

我有以下 Pandas 系列:

>>> df.original_language.value_counts()
en    32269
fr     2438
it     1529
ja     1350
de     1080
      ...  
la        1
jv        1
sm        1
gl        1
mt        1
Name: original_language,Length: 92,dtype: int64
4

我想把这些语言代码转换成它们原来的名字,比如

zh >> 英语

ar >> 阿拉伯语

我查了一下this question,但没有帮助。 如果需要任何软件包,请尽可能提供如何使用 pip 安装它们的来源。

解决方法

使用iso-639模块->

#pip install iso-639
from iso639 import languages
df['lang'] = df['lang'].apply(lambda x: languages.get(alpha2=x).name)

output -

       lang  count
0   English  32269
1    French   2438
2   Italian   1529
3  Japanese   1350
4    German   1080
5     Latin      1
6  Javanese      1
7    Samoan      1
8  Galician      1
9   Maltese      1

如果您想在原始 df 中转换代码,请使用 -

from iso639 import languages
df['original_language'] = df['original_language'].apply(lambda x: languages.get(alpha2=x).name)