Python

【Python】pandas dateframeで日時を日付と時間に分ける

投稿日:2020年6月29日 更新日:

元データ

このようなデータフレームがあり、日付と時刻にばらしたい場合の話。

import pandas as pd
import datetime as dt

df = pd.DataFrame([dt.datetime(2020,6,1,0,0,0),dt.datetime(2020,6,2,10,0,0),dt.datetime(2020,6,3,15,0,0)],columns=['datetimes'])
    datetimes
0	2020-06-01 00:00:00
1	2020-06-02 10:00:00
2	2020-06-03 15:00:00

日付と時刻にばらすコード

無名関数とapplyメソッドでこう書けます。

df['dates'] = df['datetimes'].apply(lambda x : dt.date(x.year,x.month,x.day))
df['times'] = df['datetimes'].apply(lambda x : dt.time(x.hour,x.minute,x.second))
     datetimes	     dates  	times
0	2020-06-01 00:00:00	2020-06-01	00:00:00
1	2020-06-02 10:00:00	2020-06-02	10:00:00
2	2020-06-03 15:00:00	2020-06-03	15:00:00

文字列で取り出したいときは以下です。

df['dates'] = df['datetimes'].apply(lambda x : x.strftime('%Y/%m/%d'))
df['times'] = df['datetimes'].apply(lambda x : x.strftime('%H:%M:%S'))
	datetimes	        dates	        times
0	2020-06-01 00:00:00	2020/06/01	00:00:00
1	2020-06-02 10:00:00	2020/06/02	10:00:00
2	2020-06-03 15:00:00	2020/06/03	15:00:00

以上

-Python

執筆者:


comment

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

関連記事

【Python】銀行口座情報の自動取得

Contents1 目的2 開発環境3 selenium のインストール4 Chrome Driverをインストールする5 Pythonスクリプト6 注意点 目的 銀行口座の預金残高を確認したい。でも …

【Python】階乗と順列と組合せ

Contents1 目的2 階乗の計算方法3 順列の計算4 組合せの計算5 まとめ 目的 統計的なデータ分析アプローチの中には確率的な考え方も多く使われます。今回は確率的な手法を用いる際に必要となる基 …

【Python】決定係数と相関係数の計算

Contents1 目的2 決定係数とは?3 Pythonによる決定係数の計算4 相関係数 目的 前回、あるデータXからデータYの関係を単回帰による線形方程式で表すことを行いました。ただし、これはあく …

Pythonからデータベース接続(PostgreSQL,Oracle,MySQL)

Contents1 目的2 PostgreSQLの場合3 MySQLの場合4 Oracleの場合 目的 pythonからデータベースに接続するコードをすぐ忘れるので、書き留める PostgreSQLの …

Windows10環境のPython3でMeCabを使えるようにするまで

Contents1 概要2 環境3 Step1 : MeCabのインストール4 Step2 : mecab-python3のインストール5 Step3 : 動作確認5.1 もしエラーが出る場合 概要 …

言語切り替え

カテゴリー