教授给出的指示: 1.使用来自世界地图集数据的大陆国家/地区列表,将countries.csv文件加载到pandas DataFrame中,并将此数据集命名为国家/地区。 2.使用Gapminder上的可用数据,将人均收入(GDP /人均,购买力平价美元通胀调整后)作为大熊猫DataFrame加载,并将此数据集命名为收入。 3.将数据集转换为以行和国家为年的列。加载时显示此数据集的头部。 4.以图形方式显示任何特定年份(例如2000年)世界各国的人均收入分布情况。什么样的情节最好?
在下面的代码中,我完成了其中一些任务,但我很难理解如何从DataFrame行获取数据。我希望能够从一行中获取数据然后绘制它。这可能看起来像一个微不足道的概念,但我已经有一段时间了,需要帮助。
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
countries = pd.read_csv('2014_data/countries.csv')
countries.head(n=3)
income = pd.read_excel('indicator gapminder gdp_per_capita_ppp.xlsx')
income = income.T
def graph_per_year(year):
stryear = str(year)
dfList = income[stryear].tolist()
graph_per_year(1801)
答案 0 :(得分:1)
Pandas使用三种类型的索引。
如果您要使用整数索引,则需要使用.iloc
df_1
Out[5]:
consId fan-cnt
0 1155696024483 34.0
1 1155699007557 34.0
2 1155694005571 34.0
3 1155691016680 12.0
4 1155697016945 34.0
df_1.iloc[1,:] #go to the row with index 1 and select all the columns
Out[8]:
consId 1.155699e+12
fan-cnt 3.400000e+01
Name: 1, dtype: float64
要去特定的单元格,你可以使用以下几行内容,
df_1.iloc[1][1]
Out[9]: 34.0
您需要按照documentation的建议,通过sohier-dane查看其他类型的索引,即.ix
和.loc
。
答案 1 :(得分:0)
要回答您的第一个问题,带有年份部门的条形图将是最佳的。你必须保持y轴上的国家和y轴上的人均收入。还有一个下拉菜单可能会选择图表将会改变的特定年份。