如何用Python的Pandas从CSV中获取特定国家的全部数据?
问题与解决方案
原始代码
import pandas data = pandas.read_csv('Datasets/average-height-of-men.csv') result = data['Mean male height (cm)'].mean() print(result)
问题说明
在该CSV数据集中,我想获取德国或法国这类特定国家的全部信息,但尝试用data['GER']时出现错误。
数据集列信息
['Entity', 'Code', 'Year', 'Mean male height (cm)']
其中Entity是国家名称,Code是国家代码(比如FIN代表芬兰)。
解决方法
你不能直接用data['GER'],因为GER是Code列里的具体值,不是列名。要筛选特定国家的数据,可参考以下几种方式:
方式1:通过国家代码筛选
# 获取德国(GER)的所有数据 germany_data = data[data['Code'] == 'GER'] print(germany_data) # 获取法国(FRA)的所有数据 france_data = data[data['Code'] == 'FRA'] print(france_data) # 同时获取德国和法国的数据 ger_fra_data = data[data['Code'].isin(['GER', 'FRA'])] print(ger_fra_data)
方式2:通过国家名称筛选
如果你知道完整的国家名称,也可以用Entity列筛选:
# 获取德国的数据 germany_data = data[data['Entity'] == 'Germany'] # 获取法国的数据 france_data = data[data['Entity'] == 'France']
补充提示
- 筛选后得到的结果是pandas的DataFrame对象,包含对应国家的所有年份、身高数据
- 若只想查看前几行数据,可使用
germany_data.head()
内容的提问来源于stack exchange,提问作者serhatdogan
相关产品推荐
相关产品推荐

