2016-09-14 15 views
0

教授の指示: 1. World Atlasデータの大陸別リストを使用してcountries.csvファイルをpandas DataFrameにロードし、このデータセットを国として指定します。 2. Gapminderで入手可能なデータを使用して、1人あたりの収入(GDP/capita、PPP $ inflation-adjusted)をpandas DataFrameとしてロードし、このデータセットの名前を所得として指定します。 3.行と国として年を持つようにデータセットを変換します。このデータセットのロード時にその先頭を表示します。 4.任意の年(たとえば2000年)の世界のすべての国の1人あたりの所得分布をグラフで表示します。どのようなプロットが最善でしょうか?Pandasの行からデータを取得

以下のコードでは、これらのタスクの一部を完了しましたが、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

http://pandas.pydata.org/pandas-docs/stable/indexing.html –

+0

イラストレーションのために 'countries.head()'と 'income.head()'の出力を表示できますか? – tipanverella

答えて

1

パンダは3種類のインデックス作成を使用します。あなたは、整数インデックスを使用するために探している場合は

、あなたは、あなたが以下の線に沿って何かを使用することができ、.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 

他のタイプのインデックス作成の場合は、sohier-daneのように、.ix.locdocumentationを経由する必要があります。

0

最初の質問に答えるには、1年のセクターの棒グラフが最適です。あなたはy軸上の国と一人当たりの収入をyに保つ必要があります。そしておそらく、グラフが変わる特定の年を選択するためのドロップダウン。

関連する問題