らんだむな記憶

blogというものを体験してみようか!的なー

pandasすげー

pandasとか - らんだむな記憶で折角入れたので使ってみた。
すげー。こういう時代なのか...。もう憑いていけない...。

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("test.csv")
print pd.crosstab(df["サターン/プレステ"], df["性別"])

みたいな感じでさくっとクロス集計できる。

print pd.crosstab(df["サターン/プレステ"], df["性別"], normalize="index")

で正規化すれば割合もさくっと分かる。
男がゲームに平均でどれくらい金をかけるかも、

df = pd.read_csv("test.csv")
df2 = df[["性別", "ゲーム購入費"]]
print df2.ix[ df2.ix[:, 0] == "男", : ].mean()

みたいな感じでさくっと出る。
散布図でも描くかぁ~も、

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("test.csv")
plt.scatter(df["年齢"], df["ゲーム購入費"])
plt.show()

で瞬殺だ。
相関係数でも見たいぞーってのも

subdf = df[ ["年収", "年齢", "ゲーム購入費", "家賃" ] ]
print subdf.corr()

とかで分かってしまう。
回帰分析を行いたい場合は事前に

$ sudo pip install statsmodels

をしとかないと pandas.ols の使用でエラーが出た。
で、

total_income = df["年収"]
game_costs   = df["ゲーム購入費"]
model = pd.ols(x=total_income, y=game_costs, intercept=True)
print model
plt.plot(total_income, game_costs, 'bo')
plt.plot(model.x['x'], model.y_fitted, 'g-')
plt.show()

なんかで散布図の上に回帰曲線が描けてしまう!

あぁぁ、何も頭を使わなくてもpythonが全部やっちまう。いつの間にこんな時代になったぁーorz

なんかもう「これデータ集計して分析しといて。よろしくどーぞ」がpythonで瞬殺だから、Excelとかでさくっとできますよ!ってのが市場価値にならなくなってきたなぁ。pythonに仕事奪われそー