pandasとは
Pythonにて、構造化データ(テーブル型のデータ)を扱うためのライブラリです。ファイルの読み込みやその後の加工・抽出処理などを簡単に行うことができ(SQL的な感覚で行うことができ)、機械学習などのデータの前処理で必須となるライブラリです。
他項目への目次はこちらになります。
0.ライブラリインポート
pandasにpdという名前をつけてimportする
import pandas as pd
1. 日付・時間項目変換
Object型で記載された項目をdatetime64[ns]型(Timestamp型)に変換します。
dataframeという定義の「Day」という項目を変換すると仮定します。
dataframe['Day'] = pd.to_datetime(dataframe['Day'])
2.範囲指定
「Day」が「2020年4月1日」以降のデータを抽出します。
dataframe = dataframe.loc[dataframe['Day'] > pd.to_datetime('20200401')]
3.オブジェクト型として抽出
datetime64[ns]型であるDayを日付(オブジェクト型)に変換します。
dataframe['Day'] = dataframe['Day'].dt.date
同様のやり方で、年(year)、月(month)、日(day)、曜日(weekday or weekday_name or dayofweek)などのオブジェクト化が可能です。「date」の部分を置き換えてください。
応用として、「Day」が月曜日のみを抽出すると下記のようになります。
dataframe[dataframe['Day'].dt.dayofweek == 0]
4.フォーマットを指定してオブジェクト型として抽出
「Day」をY年m月d日に変更します。
dataframe['Day'] = dataframe['Day'].dt.date.strftime('%Y年%m月%d日'))
5.値を丸める
Timestamp型だと、秒まで含まれてしまっているため、日付に丸めます。
dataframe['Day'] = dataframe['Day'].dt.round("D")
切り捨て(floor)切り上げ(ceil)の場合は「round」を()内の構文で置き換えてください。
時間でまるめる場合は"H"、15分毎は"15T"です。
公式のドキュメントはこちらを確認ください。
(応用)日付の差分
四則演算により日付の差分を取得することができます。
dataframe['Day_delta'] = dataframe['Day1'] - dataframe['Day2']
この際の「Day_delta」は、「timedelta型」となります。
日付で丸める時は「day」ではなく、「days」なのでご注意下さい。
dataframe['Day_delta'] = dataframe['Day_delta'].dt.days
最後に
初心者にもわかるように、Pythonで機械学習を実施する際の必要な知識を簡便に記事としてまとめております。
目次はこちらになりますので、他の記事も参考にして頂けると幸いです。