首页 > 解决方案 > 将秒列转换为 hh:mm:ss - Pandas

问题描述

我确定这是在 SO 但我似乎无法找到它。我正在尝试将 a 转换为column显示为. 以下是我的尝试:floatstimestampshh:mm:ss

import pandas as pd

d = ({
    'A' : [100.4,200.2,300.3,400.6,500.8,600.9],                 
    'B' : [10.4,21.5,36.3,44.3,56.6,60.5],                                      
     })

df = pd.DataFrame(data = d)

df['A','B'] = pd.to_datetime(df['A','B'], unit='h')

预期输出:

          A         B
0  00:01:40  00:00:10
1  00:03:20  00:00:22
2  00:05:00  00:00:36
3  00:06:41  00:00:44
4  00:08:21  00:00:57
5  00:10:01  00:01:01

标签: pythonpandastimedelta

解决方案


import pandas as pd

d = ({
    'A' : [100.4,200.2,300.3,400.6,500.8,600.9],                 
    'B' : [10.4,21.5,36.3,44.3,56.6,60.5],                                      
     })

df = pd.DataFrame(data = d)

df['A'] = df['A'].astype('float64') 
df['B'] = df['B'].astype('float64') 

df['A'] = pd.to_datetime(df["A"], unit='s').dt.strftime("%H:%M:%S")
df['B'] = pd.to_datetime(df["B"], unit='s').dt.strftime("%H:%M:%S")

输出是:


    A           B
0   00:01:40    00:00:10
1   00:03:20    00:00:21
2   00:05:00    00:00:36
3   00:06:40    00:00:44
4   00:08:20    00:00:56
5   00:10:00    00:01:00

推荐阅读