是否可以将pandas dataframe列中的总秒数转换为另一列,其时间为hh:mm?
在我的mysql查询中,我可以执行类似
的操作SELECT SEC_TO_TIME(xxxx);
但输出在我的pandas Dataframe中转换错误,所以我想用pandas而不是sql来做几次转换... 我正在玩pd.to_timedelta函数:
df['time'] = pd.Timedelta(Second(df['sec']))
但它没有用。
-edit -
解决了! 这不起作用:
df['time'] = pd.to_datetime(df["sec"], unit='s')
但那是因为df [" sec"]的dtype错误(它是对象类型)。我尝试先将列转换为float然后再转换为pd.to_datetime函数,现在我有了我想要的:):
df['sec'] = df['sec'].astype('float64')
df['time'] = pd.to_datetime(df["sec"], unit='s')
答案 0 :(得分:2)
这会将时间转换为YYYY-MM-DD hh:mm格式:
df['time'] = pd.to_datetime(df['time'], unit='m')