如何在python中将整数时间转换为时间对象

如何在python中将整数时间转换为时间对象,python,pandas,Python,Pandas,我有以下数据帧 code time 1 170000 2 70000 3 123000 4 120000 我想要的数据帧如下 code time new_time 1 170000 17:00:00 2 70000 07:00:00 3 123000 00:30:00 4 120000

我有以下数据帧

  code     time
  1        170000
  2        70000
  3        123000
  4        120000
我想要的数据帧如下

  code     time       new_time 
  1        170000     17:00:00
  2        70000      07:00:00
  3        123000     00:30:00
  4        120000     00:00:00
我正在用python做以下工作

data['new_time'] = [time.strftime('%H:%M:%S', time.gmtime(x)) for x in data['time']]
data['new_time'] = pd.to_datetime(data['new_time']).dt.time

这给了我一些奇怪的转变。如何操作?

使用
pd.to\u datetime
中的
format
参数(无需列表理解或
time
模块):


使用
pd.to\u datetime
中的
格式
参数(无需理解列表或
时间
模块):


你如何区分下午12点和上午12点?或者是
12
在小时内总是
00
?它给我的
值错误:时间数据0与格式“%H%M%S”(匹配)
错误如果它们是整数,则将它们设为字符串必须有一些时间与格式不匹配。您还可以执行
pd.to_datetime(data.time,format='%H%M%S',errors='concurve').dt.time
,这将在格式不可解释为time@sacul我在时间栏中有
0
,它应该给出
00:00:00
您如何区分下午12点和上午12点?或者是
12
在小时内总是
00
?它给我的
值错误:时间数据0与格式“%H%M%S”(匹配)
错误如果它们是整数,则将它们设为字符串必须有一些时间与格式不匹配。您还可以执行
pd.to_datetime(data.time,format='%H%M%S',errors='concurve').dt.time
,在格式不可解释为time@sacul我在时间栏中有
0
,它应该给出
00:00:00
,只是为了确认:最后两行不应该是
12:30
12:00
,而是
00:30
00:00
?只是为了确认:最后一行两行不应该是
12:30
12:00
,而是
00:30
00:00
data['new_time'] = pd.to_datetime(data.time, format='%H%M%S').dt.time

>>> data
   code    time  new_time
0     1  170000  17:00:00
1     2   70000  07:00:00
2     3  123000  12:30:00
3     4  120000  12:00:00