「Pythonでwebサービスを作る」学習メモ 1巻①
どうもこんにちは。きゃにすたーです。
この記事は「Pythonでwebサービスを作る」でwebサービスを作っている時の学習メモその①です。自分の中で整理するため、ざっくりとした内容&詰まったところなんかを書いていきます。
PythonでWebサービスを作る - Python3 + Flaskで作るWebアプリケーション開発入門 - その1
- 作者: 中野仁
- 発売日: 2018/02/24
- メディア: Kindle版
- この商品を含むブログを見る
全3巻中の1巻が終わったところですが、非常にわかりやすかったです。しかもkindle unlimitedで今ならタダ。マジかよ。全国のweb業界ワナビーはこれで勉強しましょう。出版されたのが非常に最近で、3巻では最終的にHerokuでデプロイするところまで書いてくれています。
ソースはこちらに上げております。
早速見ていきましょう。
- 環境構築
- ルーティング
- テンプレートエンジン
- 具体的な書き方
seabornで散布図を描く
はじめに
・seabornを使って散布図を書く。
・seabornとは、pythonのグラフ描画ライブラリである
matplotlibのラッパー
・matplotlibよりも書きやすいし、簡単に豊かな表現ができるので、
人に見せる時や探索的データ解析する際に非常にお世話になる
・毎回書き方を忘れてしまうのと、自分でデータを作るのも慣れてないので覚え書き的に書いていく。
書いてみる
%matplotlib inline import seaborn as sns import pandas as pd import random #xは1~100で乱数を生成する。 x=[] for i in range (40): x.append(random.randint(1,100)) #yはxの2乗に1~5000までの乱数を足して多少バラつきを足す y=[] for i in range(40): y.append(pow(x[i],2)+random.randint(2,5000)) #DataFrameに入れる df=pd.DataFrame({"x":x,"y":y}) #プロット sns.lmplot(x="x",y="y",data=df)
はいこの通り。
・回帰直線がデフォルトで出るので、
sns.lmplot(x="x",y="y",data=df,fit_reg=False)
と書けば出なくなる。
カンタン!
orderを変えればn次曲線で回帰線が引ける。
sns.lmplot(x="x",y="y",data=df,order=2)
綺麗に出ました。
余談
複数のリストをDataFrameにまとめるとき、
df=pd.DataFrame({"a":[1,2,3],"b":[4,5,6]})
って感じで辞書型で置くのが慣れなくて毎回戸惑ってしまう。
pd.DataFrame(a,b)
で書きたい。
seabornでデータを指定する時も戸惑う。
sns.lmplot(x="a",y="b",data=df)
という感じで、カラム名を文字列で指定するのが微妙にピンと来ない。
sns.lmplot(x=df.a,y=df.b)
と書きたいが、とりあえず慣れるしかないので頑張る。
まとめ
・基本的には文字列でカラムを指定して、
実際のDataFrameはdataの引数にまとめて突っ込めば良い。
・慣らすために散布図だけ書いたが、もっと色々と便利なのでそのうち紹介していく
・seabornはいいぞ
ありがとうございました。
<python>自作モジュールをimportする時の書き方
データ分析してる時、同じ形式のデータを加工するプロセスは関数化してまとめた後、.pyファイルにして他のデータにも使い回すことがあります。
そのような自作した.pyファイルを使う方法に関するメモです。
続きを読む【読書メモ】データ分析の力 因果関係に迫る思考法
【2017年10月ふりかえり】やったこと・考えたこと
こんにちは。きゃにすたーです。
しばらく更新が止まってしまいました。いやーしばらく書かないでいるとどんどんめんどくさくなりますね。これからはもうちょっと短くして気軽に書いていきたいと思います。
とりあえずリハビリがてら10月にやったこと・考えたことを書いていきたいと思います。
- 会社にコミットすることにした
- 本を読みました
- 休みの日と平日の生産性の違い
- まとめと11月の目標(ゆるめ)
続きを読む