是否可以将其中包含总秒数的 pandas 数据框列转换为另一列时间为 hh:mm 的列?
在我的 mysql 查询中我可以做类似的事情
SELECT SEC_TO_TIME(xxxx);
但输出在我的 pandas Dataframe 中转换错误,所以我想用 pandas 而不是 sql 进行从秒到时间的转换... 我正在玩弄 pd.to_timedelta 函数:
df['time'] = pd.Timedelta(Second(df['sec']))
但它不起作用。
-编辑-
解决了! 这不起作用:
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')
最佳答案
这会将时间转换为 YYYY-MM-DD hh:mm 格式:
df['time'] = pd.to_datetime(df['time'], unit='m')
关于Python pandas 将秒数转换为时间 (hh :mm),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44118395/