我一直试图将毫秒(0,5000,10000)列转换为格式为00:00:00 (00:00:05,00:00:10等)的新列
我试过datetime.datetime.fromtimestamp(5000/1000.0),但它没有给我我想要的格式。任何帮助都很感激!
发布于 2022-05-05 08:54:48
最好的方法可能是转换为TimeDelta (使用pandas.to_timedelta)。
因此,您将受益于timedelta对象属性
s = pd.Series([0, 5000, 10000])
s2 = pd.to_timedelta(s, unit='ms')产出:
0 0 days 00:00:00
1 0 days 00:00:05
2 0 days 00:00:10
dtype: timedelta64[ns]如果您真的想要“00:00:00”格式,请使用pandas.to_datetime
s2 = pd.to_datetime(s, unit='ms').dt.time产出:
0 00:00:00
1 00:00:05
2 00:00:10
dtype: object可以选择使用.astype(str)来拥有字符串
发布于 2022-05-05 08:55:10
通过to_timedelta将值转换为时间差
df['col'] = pd.to_timedelta(df['col'], unit='ms')
print (df)
col
0 0 days 00:00:00
1 0 days 00:00:05
2 0 days 00:00:10https://stackoverflow.com/questions/72124427
复制相似问题