2012-10-28 64 views
1

在Numpy中,我試圖獲取datatime64數組中每個元素的一天中的時間。如何獲取datetime64數組中每個元素的時間?

我可以解決一個新的陣列timedelta64其中包含每個元素從一天開始的時間過去了。

我已經試過使用numpy.datetime_as_string,但我不知道如何操作字符串。

回答

2
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 
相關問題