Pandas で datetime を日付に変換する方法
多くの場合、日付/時刻をパンダの日付に変換したい場合があります。幸いなことに、これは、次の構文をとる.dt.date関数を使用して簡単に実行できます。
df[' date_column '] = pd. to_datetime (df[' datetime_column ']). dt . date
例: Pandas でのこれまでの日時
たとえば、次の pandas DataFrame があるとします。
import pandas as pd #create pandas DataFrame with two columns df = pd.DataFrame({'sales': [4, 11], 'time': ['2020-01-15 20:02:58', '2020-01-18 14:43:24']}) #view DataFrame print (df) sales time 0 4 2020-01-15 20:02:58 1 11 2020-01-18 14:43:24
「時刻」列を単純な日付に変換するには、次の構文を使用できます。
#convert datetime column to just date df[' time '] = pd. to_datetime (df[' time ']). dt . date #view DataFrame print (df) sales time 0 4 2020-01-15 1 11 2020-01-18
これで、「時刻」列には時刻なしで日付が表示されるようになります。
datetime64 型に対する Normalize() の使用
上記のコードはオブジェクトタイプを返すことに注意してください。
#find dtype of each column in DataFrame df. dtypes dirty int64 time object dtype:object
代わりにdatetime64が必要な場合は、時刻コンポーネントを Normalize()することができます。これにより、型はdatetime64のままになりますが、日付のみが表示されます。
#convert datetime column to just date df[' time '] = pd. to_datetime (df[' time ']). dt . normalize () #view DataFrame print (df) sales time 0 4 2020-01-15 1 11 2020-01-18 #find dtype of each column in DataFrame df. dtypes dirty int64 time datetime64[ns] dtype:object
ここでも日付のみが表示されますが、「time」列はdatetime64型です。