Take's Software Engineer Blog

TOEIC200点&プロマネな私が社内公募を経て、ソフトエンジニア&英語部門へ異動して奮闘していく話をしていきます

朝活 PandasとSQLでグラフ出力

pandasって便利じゃね?って思いはじめちょっと使い方を勉強。

今日やることは先日入れたTOEICの点数が保存されたmysqlから取得し

pandasのデータフォームに変換し、seabornでかっこよく出すということをやりたい。

こんな感じでできました

f:id:monokuma12:20160822053907p:plain

config = {
    'user': 'xxxx',
    'password': 'xxxx',
    'host': 'localhost',
    'database': 'DB名',
    'charset': 'utf8'
    }
import mysql.connector
import pandas as pd
import matplotlib.pyplot as plt
def sql_plot():
    con = mysql.connector.connect(**config)
    cur = con.cursor(dictionary=True)
    x = pd.read_sql("SELECT * FROM new_toeic order by toeic_testday", con)
    df = x.ix[:, [2, 3]]  # 列の名前を指定可能だがエラーがでる あとでやる
    df.columns = [u'Listening', u'Reading']
    df.plot()
    plt.show()

pd.read_sqlを使用すればsqlで引っ張ってきたデータをうまく扱えるため とても便利ですな。

結構はまったやりかた。 最初はpd.read_sqlに気付かなかったので、pd.read_jsonを使用して同じようなことをやりました。 json形式だと日付関連がエラーでまくるので、SQLで除外してたんですよね。pd.read_sqlを使うと日付もとれるしかなりいい感じですわ。

参考になったサイト

qiita.com

div #breadcrumb div{ display: inline;font-size:13px;}