今日のPython 初心者ブログ⑤回目になります。今日のテーマは昨日の続きでPandasを使ったデータ加工です。グラフにしたりExcelファイルに保存したりを勉強しました。
グラフって色々あるんですね
ここからは案の定メモ書きです↓
import pandas as pd
matplotlibを使ったグラフ表示
matplotlibのインポート
import matplotlib.pyplot as plt
from matplotlib import rcParams ・・matplotlibの設定値を管理
日本語が文字化けしないようにフォントを設定
rcParams[‘font.family’] = ‘sans-serif’
rcParams[‘font.sans-serif’] = [‘Hiragino Maru Gothic Pro’, ‘Yu Gothic’, ‘Meirio’, ‘Takao’, ‘IPAexGothic’, ‘IPAPGothic’, ‘Noto Sans CJK JP’]
インデックスを指定
df = pd.read_csv(“test.csv“,index_col=0)読み込むデータ名
プログラム例ーーーーーーーーーーーー
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams[‘font.family’] = ‘sans-serif’
rcParams[‘font.sans-serif’] = [‘Hiragino Maru Gothic Pro’, ‘Yu Gothic’, ‘Meirio’, ‘Takao’, ‘IPAexGothic’, ‘IPAPGothic’, ‘Noto Sans CJK JP’]
df = pd.read_csv(“test.csv”,index_col = 0)
ーーーーーーーーーーーーーーーーーーーーーーー
グラフ化
DataFrame.plot() ・・pandasのplot機能でグラフ化
いろいろなグラフの指定方法
- 折れ線グラフ DataFrame.plot.line() = df.plot()がデフォルト
- 棒グラフ(垂直) DataFrame.plot.bar()
- 棒グラフ(水平) DataFrame.plot.barh()
- 積み上げ棒グラフ DataFrame.plot.bar(stacked=True)
- 円グラフ DataFrame.plot. pie
- 箱ひげグラフ DataFrame.plot.box()
- 面グラフ DataFrame.plot.area()
グラフの種類とその目的
- 変化を見たい時 折れ線グラフ
- 値の大小を比較したい時 棒グラフ
- 変化の要因を知りたい時 積み上げ棒グラフ
- 全体の構成の割合を見たい時 円グラフ
- データの散らばり具合を見たい時 箱ひげグラフ
- 変化の大きさを強調して見たい時 面グラフ
凡例の位置を決める
plt.legend(loc=”lower left”)←凡例を左下
「upper(上)」「lower(下)」「center(中央)」と
「right(右)」「left(左)」を組み合わせて
指定ができる
plt.show() ・・グラフの表示
円グラフを表示する
1行のデータをグラフで表示する
DataFrame(1行データ).plot.pie(labeldistance=中心からの距離)
例(C子さんの円グラフ)ーーーーー
df.loc[“C子”].plot.pie(labeldistance=0.6)#←数字は大体
plt.legend(loc=”lower left”)#←凡例を左下
plt.show()
ーーーーーー
グラフの色を指定する
colorlist = [“色1”,”色2”,”色3”,・・・]
df.plot.bar(color = colorlist)
例ーーーーー
色を指定
colorlist = [“skyblue”,”steelblue”,”tomato”,”cadetblue”,”orange”,”sienna”]
行列を入れ替えてグラフ化する
df.T.plot.bar(color = colorlist)
plt.legend(loc=”lower right”)
plt.show()
ーーーーーーーーーー
作ったグラフを画像ファイルに出力する
plt.savefig(“ファイル名.png”)
Excelファイルに出力
例ーーーーーーーーーーーーーー
import pandas as pd
import openpyxl
CSVファイルを読み込む
df = pd.read_csv(“test.csv”)
国語でソート
kokugo = df.sort_values(“国語”,ascending=False)
Excelファイルに書き出す
kokugo.to_excel(“csv_to_excel3.xlsx”,index=False,sheet_name=”国語でソート”)
複数の場合
with pd.ExcelWriter(“csv_to_excel.xlsx”)as writer:
#dfを1つのシートの出力
df.to_excel(writer,index=False,sheet_name=”元のデータ”)
#kokugoを別のシートに出力
kokugo.to_excel(writer, index=False,sheet_name=”国語でソート”)
ーーーーーーーーーーーーーーーーーーーーーーーーーー
Excelファイルを読み込む
import pandas as pd
import openpyxl
df = pd.read_excel(“ファイル名.xlsx”)
print(df)
df = pd.read_excel(“csv_to_ファイル名”,sheet_name=”国語でソート”)
print(df)
まとめ
使いたいデータの見せ方やExcelファイルの書き込み読み込みを効率的に行ってデータ分析をやっていきたい。複数のことを操作する場合の打ち込みを練習していきたい。
パターンを知ること→あれ使ったな、に結び付けることが出来ればOK。
おまけ
2月に入ってから、半分経とうとしております。めちゃくちゃ早い。
新しいことPythonの事を調べたりしていると、もちろんAI、機械学習、ディープラーニング、スクレイピング、データサイエンス色んな単語が出で来る訳です。
その沢山の事柄一つ一つ興味持ったことを調べていたら、あっという間の2週間です。でもとても充実しております。こんな心が躍る物を見つけることができたので。物覚えが悪いのはしょうがないにせよ、楽しみながら学ぶっていいですよね。不安な事もありますが(就職)今は吸収してやってみて、ブログにまとめて(ブログというか手記)発信したりが嬉しいです。
おまけ②
読みたい本が沢山あって本屋で立ち読みする日々なのですが、最近じぶんは電子書籍派に変わりました。やはりかさばらないのが最大のメリットです。去年買ったiPadがここに来て大活躍しております。
漫画も読みたいんだけど、今、気になっている漫画は石塚真一先生の「BLUE GIANT EXPLORER」です。今回は主人公に死なれるってことはないと思うけど…(おっとネタバレしてしまった。)作品自体からものすごくパワーをもらえる作品です。漫画好きや音楽好きで気なった方は「BLUE GIANT」からどうぞ!!
相変わらずですが、今日のところは、このへんで以上です。
また明日。
コメント