从Pandas

时间:2016-09-14 02:13:48

标签: python pandas matplotlib dataframe data-science

教授给出的指示: 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)

2 个答案:

答案 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轴上的人均收入。还有一个下拉菜单可能会选择图表将会改变的特定年份。