我可以重写数据框中的datetime64列以仅显示时间吗?

问题描述

我的数据框中有两列(长度大约为150),分别为“ Sleep”和“ Wake”,如下所示:

Sleep            |   Wake      
8/4/2020 0:04    |   8/4/2020 6:30

我可以重写这些列以仅显示时间,同时将其保留为datetime64 [ns]格式吗?这主要是为了整理我的数据。

解决方法

尝试:

df['Sleep_day'] = [d.date() for d in df['Sleep']]
df['Sleep_time'] = [d.time() for d in df['Sleep']]
df['Wake_day'] = [d.date() for d in df['Wake']]
df['Wake_time'] = [d.time() for d in df['Wake']]

或:

df = df.assign(Sleep_day=df.Sleep.dt.date,Sleep_time=df.Sleep.dt.time,Wake_day=df.Wake.dt.date,Wake_time=df.Wake.dt.time)