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