df['minutes'] = [0, 360, 1000, 1439]
我有一个pandas df,其中有一个名为minutes的列,我想将其转换为datetime。
所需的结果如下所示(或类似的日期时间格式):
df['new_min'] = ["00:00","06:00","16:40","23:59"]
这似乎并不像我想要的那样有效。
df['new_min']=pd.TimedeltaIndex(df['minutes'], unit='m')
答案 0 :(得分:1)
如果你想要的是将分钟转换为一小时,你可以做的是:
def toHour(minutes):
return str(timedelta(minutes=minutes%1440))[:-3]
现在为每个元素做到这一点:
df['new_min'] = list(map(lambda x: toHour(int(x)), df['minutes']))
编辑1 如果您更喜欢“01:30”而不是“1:30”,那么您可以
def toHour(minutes):
hour = str(timedelta(minutes=minutes%1440))[:-3]
return "{0:0>5}".format(hour)