我有一个名为 dt
的 numpy 数组。每个元素都是 datetime.timedelta
类型。例如:
>>>dt[0]
datetime.timedelta(0, 1, 36000)
如何将 dt
转换为仅包含秒数而不循环的数组 dt_sec
?我目前的解决方案(可行,但我不喜欢)是:
dt_sec = zeros((len(dt),1))
for i in range(0,len(dt),1):
dt_sec[i] = dt[i].total_seconds()
我尝试使用 dt.total_seconds()
但当然没有用。关于如何避免此循环的任何想法?
谢谢
最佳答案
import numpy as np
helper = np.vectorize(lambda x: x.total_seconds())
dt_sec = helper(dt)
关于python - 在 python 2.7 中将包含 datetime.timedelta 的 numpy 数组转换为秒的优雅方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19039080/