微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获取249个国家的DataFrame?

如何解决如何获取249个国家的DataFrame?

如何在数据框中存储国家/地区名称

import pandas as pd
import pycountry

countries = pd.DataFrame()

for i in list(pycountry.countries):
    i=dict(i)
    print(i)
    countries['alpha_3'] = i['alpha_3']
    countries['name'] = i['name']
    countries['original_name'] = i['original_name']

print(countries.head())

错误 : TypeError: 'Country' 对象不可迭代

感谢提前解决

解决方法

original_name 对象中没有属性 Country

data = [[country.alpha_3,country.name] for country in pycountry.countries]

countries = pd.DataFrame(data,columns=['alpha_3','name'])
# print(countries.head())

  alpha_3           name
0     ABW          Aruba
1     AFG    Afghanistan
2     AGO         Angola
3     AIA       Anguilla
4     ALA  Åland Islands

你也可以像这样创建

df = pd.DataFrame([country.__dict__['_fields'] for country in pycountry.countries])
print(df.head())

  alpha_2 alpha_3           name numeric                    official_name common_name
0      AW     ABW          Aruba     533                              NaN         NaN
1      AF     AFG    Afghanistan     004  Islamic Republic of Afghanistan         NaN
2      AO     AGO         Angola     024               Republic of Angola         NaN
3      AI     AIA       Anguilla     660                              NaN         NaN
4      AX     ALA  Åland Islands     248                              NaN         NaN

然后使用 df.loc[['alpha_2','alpha_3']] 选择列。

,

pycountry.countries 中列出的所有县都没有 official_name 属性。

对于这些国家/地区,我们可以在 None 列中设置 official_name

import pandas as pd
import pycountry

countries = pd.DataFrame()
data = []
for country in pycountry.countries:
    try:
        current = {'alpha_3': country.alpha_3,'name': country.name,'official_name': country.official_name}
    except Exception as ex:
        current = {'alpha_3': country.alpha_3,'official_name': None}        
    data.append(current)

countries = pd.DataFrame(data,columns = ['alpha_3','name','official_name'])
print(countries.head())
    

输出:

  alpha_3           name                    official_name
0     ABW          Aruba                             None
1     AFG    Afghanistan  Islamic Republic of Afghanistan
2     AGO         Angola               Republic of Angola
3     AIA       Anguilla                             None
4     ALA  Åland Islands                             None

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?