xlsファイルやcsvファイルを読み込むと、読み込んだ数値データ型が何故だかobjectになっている時が多々ある。objectのままだと数値データを使ってグラフを作成できないので、データ型をobjectからintやfloatに変換する必要がある。
import pandas as pd
a=list(range(31,54))
a.insert(0, 3)
df = pd.read_excel("myexcel.xls",sep='\t',thousands=',',usecols=a,na_values=['n/a', '--'])
df.head()
df.columns = list(map(str, df.columns))
df.set_index('Country', inplace=True)
df.dtypes
数値データが何故だかobjectになっているので、これを以下のようにしてfloat型に変えてやる必要がある。
df.apply(pd.to_numeric)
恐らく、quotation mark””が邪魔をしているんだと思われるので、こいつを取り除いていやる。
for i, col in enumerate(df.columns):
df.iloc[:, i] = df.iloc[:, i].str.replace('"', '')
df.head()
df.apply(pd.to_numeric)
たぶん、comma,が邪魔をしていると思われるのでこいつを取り除いてやる。
for i, col in enumerate(df.columns):
df.iloc[:, i] = df.iloc[:, i].str.replace(',', '')
df.head()
df = df.astype("float")
df.dtypes
df = df.loc['Japan']
df.head()
df1 = df[:1]
df1
df1.T.plot()
from matplotlib.pyplot import *
from matplotlib.font_manager import FontProperties
from matplotlib import rcParams
style.use('ggplot')
fig, ax = subplots()
df1.T.plot(style='.-',ms=20,figsize=(20,10),fontsize=18,ax=ax)
ax.legend(["GDP"],loc=4, prop={'size': 46});
スポンサーリンク
スポンサーリンク