PythonPandas将秒转换为时间(hh:mm)

cedebl8k  于 2022-10-23  发布在  Python
关注(0)|答案(2)|浏览(153)

是否可以将一个包含总秒数的Pandas Dataframe 列转换为另一个时间为hh:mm的列?
在我的mysql查询中,我可以执行以下操作

SELECT SEC_TO_TIME(xxxx);

但是我的pandas Dataframe中的输出转换错误,所以我想用pandas而不是sql来进行秒到秒的转换…我正在使用pd.to_timedta函数:

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')
9udxz4iz

9udxz4iz1#

这将将时间转换为YYYY-MM-DD hh:MM格式:

df['time'] = pd.to_datetime(df['time'], unit='m')
bqucvtff

bqucvtff2#

def convert(seconds):
    seconds = seconds % (24 * 3600)
    hour = seconds // 3600
    seconds %= 3600
    minutes = seconds // 60
    seconds %= 60

    return "%d:%02d:%02d" % (hour, minutes, seconds)

n = 12345
print(convert(n))

相关问题