import numpy as np
time = '2020-04-01T21:32'
dt = np.datetime64(time)
base = (dt.tolist().time().minute) % 10 // base would be 3 in this case
start = dt - np.timedelta64(base,'m')
end = start + np.timedelta64(9,'m')
print(start,end,sep='\n')
def ten_minutes_around(t):
t = ((t.astype('<M8[m]') # Truncate time to integer minute representation
.astype('int') # Convert to integer representation
// 10) * 10 # Remove any sub 10 minute minutes
).astype('<M8[m]') # convert back to minute timestamp
return np.array([t, t + np.timedelta64(10, 'm')]).T
例如:
for t in [np.datetime64('2020-04-01T21:32'), np.datetime64('2052-02-03T13:56:03.172')]:
s, e = ten_minutes_around(t)
print(s, t, e)
为此,我们可以从给定的时间中得到分钟,然后从给定的时间中减去它,得到时段的开始时间,再加上9分钟,得到时段的结束时间
我希望这有帮助
Numpy不像熊猫那样有固定的时间段
如果您只需要两个时间戳,那么下面的函数应该可以工作
例如:
给出:
及
给予
相关问题 更多 >
编程相关推荐