在Numpy中,我试图获取datatime64
数组中每个元素的时间。
我可以选择一个新的timedelta64
数组,其中包含自每个元素开始以来所经过的时间。
我已经尝试过使用numpy.datetime_as_string
,但我不知道如何操作字符串。
答案 0 :(得分:4)
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
答案 1 :(得分:0)
如果使用熊猫,则可以调用pandas.Series.dt.time
来获取datetime.time
个对象。