猿问

timedelta 秒组件不支持的类型:numpy.int64

我正在使用datetime 包中的timedelta 函数将秒转换为小时和分钟格式。


下面是一个例子:


secs = timedelta(seconds = 30)

print(secs)


00:00:30 

当在我需要转换的熊猫列上运行它时,我遇到了不受支持的类型错误。我认为,当函数遇到“0”并且不确定如何处理它时,会发生这种情况。


EmpComm = pd.DataFrame({

         'Duration (secs)':[3488, 2994,0, 0],

         'Duration (hh:mm)':['0:58:08','0:49:54',np.nan,np.nan],


})

print (EmpComm)

   Duration (secs) Duration (hh:mm)

0             3488          0:58:08

1             2994          0:49:54

2                0              NaN

3                0              NaN

我想知道为什么它不能将秒 = 0 转换为 00:00:00。这是我的代码:


for i, row in EmpComm.iterrows():


    val = timedelta(seconds = EmpComm['Duration (secs)'].iloc[i])

    EmpComm['Duration (hh:mm)'][i] = val


神不在的星期二
浏览 147回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答