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型です。

追加リソース

Pandas で列を DateTime に変換する方法
Pandas で文字列を float に変換する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です