数据类型
常量
- numpy.nan
两个numpy.nan数值不同 - numpy.inf
正无穷大 - numpy.pi
圆周率 - numpy.e
自然常数
常见数据类型
为了和python区分,numpy在这些名称末尾加了“_”
创建数据类型
numpy 的数值类型实际上是 dtype 对象的实例。
class dtype(object):
def __init__(self, obj, align=False, copy=False):
pass
每个内建类型都有一个唯一定义它的字符代码
import numpy as np
a = np.dtype('b1')
print(a.type)
print(a.itemsize)
<class 'numpy.bool_'>
1
时间日期和时间增量
datatime64的创建
可以将字符串转换成时间日期类型 datetime64(datetime 已被 python 包含的日期时间库所占用)
创建 datetime64 类型时,numpy 会默认根据字符串自动选择对应的单位。
a = np.datetime64('2020-03-01')
print(a, a.dtype)
2020-03-01 datetime64[D]
从字符串创建 datetime64 类型时,可以强制指定使用的单位。
a = np.datetime64('2020-03', 'Y')
print(a, a.dtype)
2020 datetime64[Y]
如果两个 datetime64 对象具有不同的单位,它们可能仍然代表相同的时刻。
print(np.datetime64('2020-03') == np.datetime64('2020-03-01'))
True
使用 arange() 创建 datetime64 数组
a = np.arange('2020-08-01', '2020-08-10', dtype=np.datetime64)
print(a)
['2020-08-01' '2020-08-02' '2020-08-03' '2020-08-04' '2020-08-05'
'2020-08-06' '2020-08-07' '2020-08-08' '2020-08-09']
datetime64 和 timedelta64 运算
timedelta64 表示两个 datetime64 之间的差。timedelta64也有单位。(年(‘Y’)和月(‘M’)这两个单位无法和其它单位进行运算)
a = np.datetime64('2020-03') + np.timedelta64(20, 'D')
print(a)
2020-03-21
timedelta64运算
a = np.timedelta64(1, 'Y')
b = np.timedelta64(6, 'M')
print(a/