numpy.datetime64()日期函數

Basic Datetimes

創建數據時間的最基本的方法是使用ISO 8601日期或日期時間格式的字符串。內部存儲單元是從字符串的形式自動選擇的,可以是date unit或time unit。

日期單位是年(‘Y’),月(‘M’),星期(‘W’)和日(‘D’),而時間單位是小時),秒(‘s’),毫秒(‘ms’)和一些附加的基於秒前綴的單位。

簡單的ISO日期:

>>> np.datetime64('2005-02-25')
numpy.datetime64('2005-02-25')

str(np.datetime64('2005-02-25'))
#'2005-02-25'

使用月份爲單位:

>>> np.datetime64('2005-02')
numpy.datetime64('2005-02')

僅指定月份,但強制使用“天”單位:

>>> np.datetime64('2005-02', 'D')
numpy.datetime64('2005-02-01')

從字符串創建數據集的數組時,仍然可以使用帶有通用單位的日期時間類型從輸入中自動選擇單位。

>>> np.array(['2007-07-13', '2006-01-13', '2010-08-13'], dtype='datetime64')
array(['2007-07-13', '2006-01-13', '2010-08-13'], dtype='datetime64[D]')

datetime類型適用於許多常見的NumPy函數,例如arange可用於生成日期範圍。

所有日期一個月:
指定格式dtype='datetime64[D]'

Z = np.arange('2016-07', '2016-08', dtype='datetime64[D]')

'''
array(['2016-07-01', '2016-07-02', '2016-07-03', '2016-07-04',
       '2016-07-05', '2016-07-06', '2016-07-07', '2016-07-08',
       '2016-07-09', '2016-07-10', '2016-07-11', '2016-07-12',
       '2016-07-13', '2016-07-14', '2016-07-15', '2016-07-16',
       '2016-07-17', '2016-07-18', '2016-07-19', '2016-07-20',
       '2016-07-21', '2016-07-22', '2016-07-23', '2016-07-24',
       '2016-07-25', '2016-07-26', '2016-07-27', '2016-07-28',
       '2016-07-29', '2016-07-30', '2016-07-31'], dtype='datetime64[D]')
'''

Datetime and Timedelta Arithmetic

NumPy允許減去兩個日期時間值,一個產生具有時間單位的數字的操作。由於NumPy在其核心中沒有物理量系統,因此創建了timedelta64數據類型以補充datetime64。
Datetimes和Timedeltas一起工作,爲簡單的日期時間計算提供方法。

>>> np.datetime64('2009-01-01') - np.datetime64('2008-01-01')
#numpy.timedelta64(366,'D')

str(np.datetime64('2009-01-01') - np.datetime64('2008-01-01'))
'366 days'

str(np.datetime64('2009-01-01') - np.datetime64('2008-01-01')).split(" ")[0]
#'366'
>>> np.datetime64('2009') + np.timedelta64(20, 'D')
numpy.datetime64('2009-01-21')

Business Day Functionality

爲了允許在僅一週中的某些天有效的上下文中使用datetime,NumPy包括一組“busday”(工作日)函數。

Datetimes and Timedeltas:http://doc.codingdict.com/NumPy_v111/reference/arrays.datetime.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章