我对Python比较陌生
我有一列代表一天中时间的数据-但采用整数格式 hhmm -即1230、1559。
我知道应该将其转换为正确的时间格式,以便可以正确使用它。
我花了一段时间搜索答案,但没有找到明确的解决方案。
谢谢
答案 0 :(得分:2)
如果需要日期时间,则功能to_datetime
也需要date
,有时需要添加dt.time
。
另一种解决方案是将值转换为timedeltas-但必须使用格式HH:MM:SS
:
df = pd.DataFrame({'col':[1230,1559]})
df['date'] = pd.to_datetime(df['col'], format='%H%M')
df['time'] = pd.to_datetime(df['col'], format='%H%M').dt.time
s = df['col'].astype(str)
df['td'] = pd.to_timedelta(s.str[:2] + ':' + s.str[2:] + ':00')
print (df)
col date time td
0 1230 1900-01-01 12:30:00 12:30:00 12:30:00
1 1559 1900-01-01 15:59:00 15:59:00 15:59:00
print (df.dtypes)
col int64
date datetime64[ns]
time object
td timedelta64[ns]
dtype: object