Pythonによるデータ分析の教科書(その5)

4.2 pandas
pandasとは、Numpyを基盤にシリーズ(Series)とデータフレーム(Dataframe)というデータ型を使ったデータ分析ツール
・Seiris:1次元データ
import pandas as pd
ser = pd.Seies([10, 20, 30, 40])
?DataFrame:2次元データ
df = dp.DataFrame([10, “a”, True],
[20, “b”, False],
[30, “c”, False],
[40, “d, True]])
・DataFrameの表示
df       #行列全体を表示
df.head()    #先頭5行のみ表示
df.tail()     #末尾5行のみ表示
df.index  [“01”, “02”, “03”]    #インデックス名(行の項目名)を割り当て
df.columns [“A”, “B”]            #カラム名(列の項目名)を割り当て
pd.DataFrame({“A列: [0, 2, 4], “B列: [1, 3, 5]}]          #辞書形式でDataFrameを作る
df[“A”]           #カラム名を直接指定して抽出
df:[:2]            #インデックス値を指定して抽出
df.loc[:, :]       #すべてを抽出(コピーでなく参照)、インデックス名・カラム名で抽出
df.iloc[1, 1]       #すべてを抽出(コピーでなく参照)、インデックス番号(位置)・カラム番号(位置)で抽出
df.iloc[1:, 1]       #すべてを抽出(コピーでなく参照)、インデックスを範囲・カラムを位置で抽出

・データの読み込み・書き込み
・df = df.read_csv(“ファイル名”, encoding=”utf=8″)        #CSVファイルの読み込み
・df = df.read_excel(“ファイル名”)        #excelファイルの読み込み
・tables = df.read_html(“URL”)        #WebサイトのHTML内のtable要素から、直接、DataaFrameni読み込み
・df = tables[n]                               #インデックス番号nのテーブルを取得
・df.to_csv(“ファイル名”, encoding=”utf=8″)        #テーブルデータをCSVファイルに書き出し
・df.to_excel(“ファイル名”)        #テーブルデータをCSVファイルに書き出し
・df.to_pickle(“data/write_df.pickle”)        #テーブルデータをファイルに書き出し
・df = df.read_pickle(“data/write_df.pickle”)        #逆に読み込み

・データの成形
df[カラム名] >= n         #カラム名のデータがn以上がどうかを判定、各行がお条件に一致していればtrue、あっていなければFalse
df_selected = df[df[カラム名] >= n]         #カラム名のデータがn以上の行のみを抽出
df.query(条件式)     #SQL構文のように条件を記載し、抽出できる
df>sort?values(by=”歩数”)      #歩数のカラムでの並び変え(昇順)
df = df.drop(“日付”, axis=1)                #日付からむの削除

・欠損値処理
df_201705_drop = df_201705.dropns()           #dropnsメソッドによる欠陥値の行の削除

・データ連結
concat関数によりデータ連結、axis=1で列方向、axis=0で行方向

・基本統計量
df.loc[:, カラム名].max()        #最大値
df.loc[:, カラム名].min()        #最小値
df.loc[:, カラム名].mod()        #最頻値
df.loc[:, カラム名].mean()        #平均値(算術平均)
df.loc[:, カラム名].median()       #中央値
df.loc[:, カラム名].std()              #標準偏差
df.loc[:, カラム名].count()          #件数

・統計量の要約
df.describe()           #count、mean、std、min、25%、50%、75%、max を表示

・相関係数
df/corr()            #相関係数を出力

・データ変換
df.loc[:, [“カラム名1″、”カラム名2”]].vlues    #DataFrameを配列(ndarray)に変換

 

参考にした書籍
タイトル:Pythontによるデータ分析の教科書
著者:寺田学、辻真吾、鈴木たかのり、福島真太朗
発行所:株式会社 翔泳社

以上