【问题标题】:How to create a new column with the continent names of each country?如何使用每个国家/地区的大陆名称创建一个新列?
【发布时间】:2019-09-12 10:40:20
【问题描述】:

我的列中有一个国家/地区列表,我需要在新列中列出他们所在的大陆。

我的列表有 180 个不同的国家

国家

瑞士
法国
丹麦
中国 阿根廷


我需要像下面这样获得他们的大陆

国家 - 大陆

瑞士 - 欧洲

法国 - 欧洲

丹麦 - 欧洲

中国 - 亚洲

阿根廷 - 美国


我阅读了一些关于 pycountry-convert 的内容,但很抱歉我找不到好的文档或示例。


可以看到我的代码和数据框here

【问题讨论】:

    标签: python dataframe


    【解决方案1】:

    据我所知,您首先需要将国家名称转换为 alpha2 格式,然后检查大陆。这是一种方法。您需要执行以下操作:-

    • 遍历您所在国家/地区列中的每个项目并应用以下转换

    country_name_to_country_alpha2(cn_name, cn_name_format="default")

    • 然后你需要在上面生成的列上应用转换

    country_alpha2_to_continent_code()

    这是这样做的基本思想。如果您需要更多说明,请联系我们。

    【讨论】:

    • 谢谢 capt2101akash。我使用以下方法将每个国家/地区名称转换为 alpha2 格式。 import country_converter as coco; names = df.index.tolist(); names = ['GR' if (x == 'EL') else x for x in names]; names = ['GB' if (x == 'UK') else x for x in names]; iso3 = coco.convert(names=names, to='ISO3', not_found=None); 但是我不知道怎么做,你介意给我举个例子吗?
    • 你只需要使用python的pycountry-convert包。在该软件包中,您有一个名为 country_alpha2_to_continent_code() 的函数,您需要应用它才能获取每个国家/地区的大陆代码。
    猜你喜欢
    • 2019-06-24
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多