maynull:
場合np.datetime64
型のデータが与えられ、どのように時間を中心に一定の時間を取得しますか?
たとえば、np.datetime64('2020-04-01T21:32')
関数に与えられて、私は、関数が返すようにしたいnp.datetime64('2020-04-01T21:30')
とnp.datetime64('2020-04-01T21:39')
与えられた時間約10分- 。
numpyのでこれを行う方法はありますか?
Meta4:
numpyのは、パンダが行うよう時間内に内蔵しておりません。
あなたが望むすべては2個のタイムスタンプがある場合は、以下の機能が動作するはずです。
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)
提供します:
2020-04-01T21:30 2020-04-01T21:32 2020-04-01T21:40
2652-02-03T13:50 2652-02-03T13:56:03.172 2652-02-03T14:00
そして
ten_minutes_around(np.array([
np.datetime64('2020-04-01T21:32'),
np.datetime64('2652-02-03T13:56:03.172'),
np.datetime64('1970-04-01'),
]))
提供します
array([['2020-04-01T21:30', '2020-04-01T21:40'],
['2652-02-03T13:50', '2652-02-03T14:00'],
['1970-04-01T00:00', '1970-04-01T00:10']], dtype='datetime64[m]')