Python 3 エンジニア認定データ分析試験 まとめノート 〜Pandas編〜

python_dataanalysis データサイエンス

Pandas

Numpyを基盤にSeriesとDateFrameというデータ型を提供。
Series:1次元データ
DateFrame:2次元データ。1列の中に整数や文字列が混在している場合はデータ型がオブジェクトとなる。その場合は数値計算はできない。

用語

head():先頭を表示※デフォルトは5行

tail():末尾を表示※デフォルトは5行

.shape:DateFrameのサイズを取得

.dtypes:各カラムのデータ型の確認 ※dtypeは引数(dtype=”float64″)として使用

df.apply(関数):dfに関数を適用させる

astype():データ型の変換

to_datatime():datetime型に変換

set_index():インデックス(行)に値を設定

sort_values(by=”カラム名”):カラムの並び替え ※デフォルトは昇順

sort_values(by=”カラム名”,ascending=False):降順でのカラムの並び替え

drop():不要なデータの削除

df=df[_]:True行のみの抽出

concat関数:2つのデータフレームを連結。
※axis=0:行方向への連結
 axis=1:列方向への連結
 行列の順序は一方しか保持できない

df.values:Numpy配列に変換。インデックス、カラム名は保持されない。

データ抽出

→df[“A”]=1列のみの抽出 ※df.loc[:,”A”]、df.iloc[:,0]と同じ出力結果。
 df[[“A”,”B”]]=複数列の抽出(2重角かっこ) ※df.loc[:,[“A”,”B”]]、df.iloc[:,:2](1:2=1以上2未満)と同じ出力結果

条件付き
df[“歩数”]>=10000=True or Falseで各行が返される
df[df[“歩数”]>=10000]=Trueの行のみ抽出される

ファイルの読み書き

CSVファイル
read_csv:CSVファイルの読み込み
 to_csv:CSVファイルの書き込み

Excelファイル
read_excel:CSVファイルの読み込み
 to_excel:CSVファイルの書き込み

WebサイトのHTMLの表:WebサイトのHTML内にあるtable要素を抜き出す。複数にも対応。
read_html:WebサイトのHTMLの表の読み込み

pickleモジュール:Pythonのオブジェクトをシリアライズ(直列化)してファイルで読み書き(保存)
          pandas、バイナリファイルをそのまま保存できる。
read_pickle:バイナルファイル、pickle形式に直列化されたデータの読み込み
 to_pickle:バイナルファイル、Pythonオブジェクトを直列化し書き込み

時系列データ

date_range(start=”2017-04-01″,end=”2017-04-30″):1ヶ月分のデータを作る

date_range(start=”2017-01-01″,periods=365):1年分365日のデータを作る

df.groupby(pd.Grouper(freq=’M’).mean():月平均のデータを作る

Grouperオブジェクト

→pd.Grouper(freq=‘W-SAT’).sum():土曜日ごとにグルーピング
 ‘M’:月末集計
 ‘Q’:四半期集計
 ‘W’:週末(日曜)集計
 ‘W-Mon’:週(日〜月曜まで)集計

欠損値処理

dropna:欠損値のある行を削除

fillnaメソッド:欠損値補完
 fillna(0):欠損値を0で補完
 fillna(method=’ffill’):欠損値を1つ前方の値で補完 ※f=forward
 fillna(method=’bfill’):欠損値を1つ後方の値で補完 ※b=back
 fillna(df.mean()):欠損値を平均値で補完
 fillna(df.median()):欠損値を中央値で補完
 fillna(df.mode().iloc[0,:]):欠損値を最頻値で補完

基本統計量のメソッド

max():最大値を取得

min():最小値を取得

mode():最頻値を取得

median():中央値を取得

str():標準偏差を取得
※母集団の標準偏差を取得する場合は引数にddof=0を指定。デフォルトはddof=1。

count():データの個数を取得

corr():相関係数を取得

describe():統計量をまとめて取得
 引数→include:結果を含める場合
    exclude:結果を含める場合
 出力される項目
    count:要素の個数
    mean:算術平均
    std:標準偏差
    min:最小値
    max:最大値
    50%:中央値
    25%,75%:1/4分位数、3/4分位数

散布図行列の出力

→%matplotlib inline
 from pandas.plotting import scatter_matrix
 _=scatter_matrix(df)

コメント

タイトルとURLをコピーしました