pandas.to_datetime を使用するときは日付部分のみを保持する 質問する

pandas.to_datetime を使用するときは日付部分のみを保持する 質問する

私はpandas.to_datetimeデータ内の日付を解析するために を使用しています。datetime64[ns]日付はすべて日次のみですが、Pandas はデフォルトで日付を で表します。データを CSV に書き込むときに日付に が追加されないように、日付を または に変換するエレガントで賢い方法があるかどうか疑問に思っています。datetime.date要素datetime64[D]ごと00:00:00に手動で型を変換できることはわかっています。

[dt.to_datetime().date() for dt in df.dates]

しかし、行数が多いため、これは非常に遅く、 を使用する目的に反します。列全体の を一度にpandas.to_datetime変換する方法はありますか? または、代わりに、日次データで作業中に時間部分を削除できるように、 は精度指定をサポートしていますか?dtypepandas.to_datetime

ベストアンサー1

バージョン以降0.15.0これは、.dt日付部分だけにアクセスするには:

df['just_date'] = df['dates'].dt.date

上記は を返すのでdatetime.dateobjectdtype になります。dtype を のままにしたい場合は、次のようdatetime64にします。normalize:

df['normalised_date'] = df['dates'].dt.normalize()

これにより、時間コンポーネントが午前 0 時 (つまり ) に設定されますが00:00:00、ディスプレイには日付の値だけが表示されます。

おすすめ記事