【发布时间】:2019-08-29 01:55:56
【问题描述】:
我正在尝试将列类型从对象更改为 datetime64,但希望它仅将时间显示为小时:分钟。
该列是格式为 13:45:00 的字符串。当我将数据类型更改为 datetime64 时,它现在会用一个补好的日期 (1900-01-01 13:45:00) 打印它。
我希望列数据类型为 datetime64 类型(以便稍后进行比较和操作),但我只希望它以小时:分钟格式显示时间,不带秒和不带日期。 示例 - 13:45
我在 google 上能找到的一切都是关于只获取日期来显示和维护 datetime64 数据类型,这是我能够做到的。
我试过弄乱 pd.to_datetime().dt.strftime('%H:%M')。它正确地格式化了列,但它的数据类型是对象而不是 datetime64。
cycle_trips_df['Checkout Date'] = pd.to_datetime(
cycle_trips_df['Checkout Date'], infer_datetime_format=True
).dt.normalize() #strftime('%m/%d/%Y') # format='%m/%d/%Y').dt.date
cycle_trips_df['Checkout Time'] = pd.to_datetime(
cycle_trips_df['Checkout Time'], format='%H:%M:%S'
).dt.strftime('%H:%M')
print(cycle_trips_df.dtypes)
[输出]
结帐日期 datetime64[ns]
结帐时间对象
【问题讨论】:
标签: python-3.x pandas datetime