前回の続きでPandasでよく使う関数について記していきます。
作成済みのPythonファイルをそのまま使用するので
・ソートする
何かの列(カラム)をソートするときに使います
昇順・降順、複数の行(カラム)
areX.rename()
◆応用1
下記は昇順でソートする場合で降順はascending=Trueを記述しないでOKです。
最後のhead()は最初の6行を表示するために入れてます。
df.sort_values(by=”sales”, ascending=True).head()
◆応用2
下記は複数のカラムかつ、昇順でソートする場合の書き方です。
df.sort_values([‘sales’, ‘temperature’], ascending=False).head()
・列に欠損している値があるのか調べる
データ内に欠損値があると誤った予測結果が出る事があるのでかならずチェックしましよう。
データ量、内容によっては置換や削除を行う場合があります。
areX.isnull().sum()
・列内の欠損値に別の値を置換する
NaNとなっている値に対して0.0という値を入れます。
areX.fillna(value={‘payday’: 0.0}, inplace=True)
・特定の列内で欠損してる行を削除する
その時々ですがデータ量的に削除しても問題ない量だった場合は削除してしまうことがあります。
areX.dropna(subset=[‘kcal’], axis=0, inplace=True)
・不要な列を削除する
不要なカラムが含まれていることもあるので削除してみます
areX.drop([‘remarks’], axis=1, inplace=True)
・〇の場合は〇〇という値を返す
条件を付ける場合によく使います。
labels = [‘上旬’, ‘中旬’, ‘下旬’]
areX[‘period’] = pd.cut(list(areX[‘day’]), bins=[0,10,20,31], labels=labels, right=True)
・列内の値が何個あるのかカウントする
指定した列内に何個の値が含まれているのか確認する方法です。
areX[‘weather’].value_counts()
・折れ線グラフを作成する
簡単な折れ線グラフ程度であればマットプロットリブを使わずに作成する事が可能です。
areX[‘sales’].plot()
・ヒストグラムを作成する
同様にヒストグラムを作成することが可能です。
今回はサイズや目盛の刻みを見てみますが数字の部分を変える事でどのようなヒストグラムになるか
試してみてください。
areX.plot(kind=’hist’, y=’sales’ , bins=10, figsize=(16,4), alpha=0.5)
・散布図を作成する
特定のカラム同士で何か相関がありそうなのか散布図で確認してみましょう。
df.plot(kind=’scatter’, x=’kcal’, y=’sales’)
・相関係数を確認する
先程作成した散布図を基に相関係数があるのかないのか確認してみましょう。
1に近ければ近い程相関関係があるということになります。
areX[[‘kcal’, ‘sales’]].corr()
・数字ではなく文字がある列をダミー変数に変換する
機械学習では文字は計算することができないので架空の数字を作成して1か0できるようにする必要があります。
今回は文字が含まれている列をまとめてダミー変数に置換えてしまいます。
dummy_areX = areX.get_dummies(df, columns=[‘week’, ‘name’, ‘event’, ‘weather’, ‘period’])
まだまだPandasで使える関数はありますが頻繁に使うものは以上となります。
次回からnumpyとPandasとnumpyを組み合わせて何ができるのかを確認してまいります。
コメントを残す