はじめに
Pythonでデータ分析を扱う上で必須となる、Pandasでのデータ操作方法の
初歩についてまとめました。
ついつい忘れてしまう重要文法から、ちょっとしたTipsなどを盛り込んでいます。
こんな人にオススメ
→ Pandasを初めて触ってみたい!
→ Rが使えることをPythonでもやってみてーなー
→ Pandasの文法覚えきれねー どっかに一覧があれば便利なのに...
→ そもそもPythonでデータハンドリングってどれくらいできるものなのさ
データの操作についても知りたい方は前半からどうぞ
◆ Python Pandasでのデータ操作の初歩まとめ − 前半:データ作成&操作編
http://qiita.com/hik0107/items/d991cc44c2d1778bb82e
計算をしてみよう
###◆統計量演算
データフレームの行、もしくは列ごとの統計量を求める
math.py
#列方向の合計
df_sample["score1"].sum(axis=0) # Score1の値の合計を計算
#axis=0は縦方向にSumするという意味。デフォルトで0なので、省略可能
df_sample[["score1","score2"]].sum(axis=0) #score1,score2をそれぞれ合計。結果は2つ出力
#行方向の合計
df_sample[["score1","score2"]].sum(axis=1)
#各行のscore1とscore2の値を合計。結果は列数ごとに出力される
#axis=1は横方向にSumするという意味。PandasではAxisでRow方向と」
Column方向を区別することが多いので覚えておくべし
###◆Pivoting
ピボットテーブル的なクロス集計と、データ構造の変換を行う
pivot.py
df_sample.pivot_table("score1", #集計する変数の指定
aggfunc="sum", # 集計の仕方の指定
fill_value=0, # 該当する値がない場合の埋め値の指定
rows="class", # 行方向に残す変数の指定
columns="day_no") #列方向に展開する変数の指定
###◆Group_by 操作
groupby.py
# Pandasでは、Groupbyの操作と、それにともなうAggregationを別々に行います。
# groupbyメソッドを使うと、見た目は普通のデータフレームですが、Group_ByのKey情報を持ったオブジェクトが生成されます。
# これはRでも同様です。Dplyrではgroupby()によってキーが設定され、そのKeyにともなって、Summariseで集計を行います。
df_sample_grouped = df_sample.groupby("day_no") # day_noでGroup_byを行う。
df_sample_grouped[["score1","score2"]].sum()
# Group化されたされたオブジェクトに対してSumを行う。
# 必要であれば、Sumを行う変数を指定できる。
# Group_byのKeyは強制的にIndexとして扱われる
# そのため、Group_byを行う前のように、カラム変数として扱うことができない
df_sample_grouped = df_sample.groupby("day_no", as_index=false)
# as_index=falseを指定すると、indexとして扱うのをやめてくれる。
データの読みだし、書き出しをしよう
◆データインポート、エクスポート
csvファイルからDFを作成、またはDFをcsvに書き出し
file.py
#csvデータのインポート
pd.read_csv("path_of_data")
#csvデータのエクスポート
pd.to_csv("path_of_exported_file")