機械学習

Pandas基本操作まとめ

投稿日:2017年9月20日 更新日:

みなさん、こんにちは。

本稿は米国株ではなく、データ解析のお話です。
機械学習の前に立ちはだかる、もっともテンションが下がる作業。データの前処理についてまとめます。

私も、まとまった時間に解析を始めようと意気込むのですが、小一時間ほどデータと格闘し疲れて寝るパターンが多いので、本稿では毎回調べるPandasの基本操作となります。

なお、明記しませんが、本稿で扱っているデータはどこかで拾ったワインに関するサンプルデータです。

 

スポンサーリンク




データの確認

操作 コマンド
行数の確認 len(df)
次元数の確認 df.shape
カラム情報の一覧 df.info()
平均、四分位 df.describe()
head/tail

df.head(5)

df.tail(5)

 

 

データ操作

loc,iloc,ixと複数ありわかりづらいですね。

操作 コマンド
列名の指定 df['Class'] df[['Class','Alcohol']]
locによる列指定 df.loc[:,'Ash'] df.loc[:,['Class','Alcohol']]
ilocによる列指定 df.iloc[:,3] df.iloc[:,0:5]
ixによる列指定 df.ix[:,'Class'] df.ix[0:4,3:8] df.ix[0:1,['Class','Alcohol']]

 

 

データの選択

細かい操作をする際はこの辺りが必要。

操作 コマンド
queryによる選択 df.query('Class == 2')

複数条件(アンド)

df.query("Alcohol > 13 & Class == 2") 
複数条件(オア) df.query("Alcohol >14 | Ash < 2.2")
変数名の指定 df.query("Proline == @変数名")  
 indexを使ったSubsetting df.query("index == 11") df.query("index in [11,12]")

 

 

ソート

稀に使う。

操作 コマンド
昇順でソート df.sort_values(by = "Alcohol",ascending = True)

複数項目でソート

df.sort_values(by = ["Alcohol","Flavanoids"],ascending = True)
複数項目でソートB df.sort_values(by = ["Alcohol","Flavanoids"],ascending = [True,False])
指定のリストで
ソート
pd.Categorical(df["項番"],list)

 

基本統計量

変数毎の計算など、よく使います。

操作 コマンド
列方向で総和 df["Alcohol"].sum(axis = 0)

行方向で総和

df.sum(axis = 1)
クロス集計

df.pivot_table("Alcohol",
       aggfunc = "sum",
       fill_value = 0,
       columns= "Class")

ピボットテーブル df.pivot_table(values = 'Alcohol',        index=["Class","Magnesium"],        columns=["Ash"],        fill_value = 0,        aggfunc="sum")

 

Groupby

ラベル毎のクロス集計などでよく使いますが、よく忘れます。

  Alcohol Ash
  mean std mean std
Class        
1 13.744746 0.462125 2.455593 0.227166
2 12.278732 0.537964 2.244789 0.315467
3 13.153750 0.530241 2.437083 0.184690

 

 







-機械学習
-,

Copyright© AIで米国株研究 , 2018 All Rights Reserved Powered by AFFINGER4.