Numpy では、配列内の各要素の時刻を取得しようとしていますdatatime64
。
timedelta64
各要素の 1 日が始まってからの経過時間を含む新しい配列に落ち着くことができました。
を使ってみnumpy.datetime_as_string
ましたが、文字列の操作方法がわかりません。
def datetime64_to_time_of_day(datetime64_array):
"""
Return a new array. For every element in datetime64_array return the time of day (since midnight).
>>> datetime64_to_time_of_day(np.array(['2012-01-02T01:01:01.001Z'],dtype='datetime64[ms]'))
array([3661001], dtype='timedelta64[ms]')
>>> datetime64_to_time_of_day(np.datetime64('2012-01-02T01:01:01.001Z','[ms]'))
numpy.timedelta64(3661001,'ms')
"""
day = datetime64_array.astype('datetime64[D]').astype(datetime64_array.dtype)
time_of_day = datetime64_array - day
return time_of_day
パンダを使用している場合は、呼び出しpandas.Series.dt.time
てオブジェクトを取得できdatetime.time
ます。