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

4
我有以下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

我希望将这些语言代码转换成它们的原始名称,例如
en >> 英语
ar >> 阿拉伯语
我查看了这个问题,但没有帮助。 如果需要任何包,请提供如何使用pip安装它们的来源。
1个回答

5

使用 iso-639 模块 ->

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

输出 -

       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)

2
谢谢!对我来说主要问题在于安装,但事实证明有两个名称相同的模块,一个带连字符,另一个没有。所以这个问题也帮助我解决了问题:https://dev59.com/Yrfna4cB1Zd3GeqPkwAJ - Fatimah E.
还有一个 iso639 包,那是另外的东西吗?我正在使用 poetry,但出于某种原因它找不到 iso-639 包(尽管 pip 可以找到它)。 - Alon Samuel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接