http://www.atmarkit.co.jp/ait/articles/1802/13/news012.html
import pandas as pd import numpy as np dow = pd.read_csv("xxxx.csv", index_col=0) # データの冒頭の部分だけを表示 dow.head() type(dow) # 簡単な統計情報を見る「describe」メソッド dow.describe() dow_open = dow["Open"] dow_open.head() type(dow_open) # DataFrame型から複数の列を取り出す dow_high_low = dow[["High", "Low"]] dow_high_low.head() # 条件による行の抽出 dow[dow["High"] > 24000] np.random.seed(0) df = pd.DataFrame(np.random.rand(8, 4), columns=["A", "B", "C", "D"]) df # ラベルによる指定の「loc」メソッド df.loc[3:5, ["B", "C"]] # 位置による指定の「iloc」メソッド df.iloc[3:5, 1:3] # データの加工 df["E"] = df["C"] + df["D"] df df["A"] = df["B"] * 2 df # ラベル指定して1つのセルを書き換える「at」メソッド df.at[1, "A"] = -1 df # 位置を指定して1つのセルを書き換える「iat」メソッド df.iat[2, 0] = -1 df # 欠損値の処理 df["F"] = [1, None, None, 1, None, None, None, None] df # 欠損値を無視する「dropna」メソッド df.dropna() # 欠損値を特定の値で書き換える「fillna」メソッド df.fillna(value=0) df # 集計演算 ## データの平均値を求める「mean」メソッド df.mean() ## データの標準偏差を求める「std」メソッド df.std() ## 任意の関数を適用する「apply」メソッド df.apply(lambda x: x.max() - x.min()) # グループ化 df["G"] = ["X", "X", "Y", "Y", "Z", "X", "Z", "Y"] df ## グループ化し集計 gr = df.groupby("G") gr.sum() # キーをインデックスとして扱いたくないときは、「as_index」フラグ gr = df.groupby("G", as_index=False) gr.mean() # データの連結・結合 df1 = pd.DataFrame(np.random.rand(3, 3), columns=["A", "B", "C"]) df1 df2 = pd.DataFrame(np.random.rand(3, 3), columns=["A", "B", "C"]) df2 # 縦に連結する「concat」メソッド df3 = pd.concat([df1, df2]) df3 # インデックスを振り直す「reset_index」メソッド df3.reset_index(drop=True) df1["D"] = ["A", "B", "D"] df2["D"] = ["A", "B", "C"] df1 df2 # 横に連結する「merge」メソッド pd.merge(df1, df2, on="D") # 外部結合 pd.merge(df1, df2, how="left", on="D") # 配列型への変換 valuesプロパティ df3.loc[:, ["A", "B", "C"]].values