np.nan:两个np.nan是不相等的 np.inf:表示无穷大 np.pi、np.e:圆周率和自然常数
整数类型的机器限制:ii16 = np.iinfo(np.int) 数据类型对象的元素大小:arr.itemsize
(1)将字符串转换成时间日期类型 datetime64
#要用-相连接,月份前加0 a = np.datetime64('2020-02-03') a = np.datetime64('2020-03', 'D')#指定日期单位为天 np.arange('2020-02-03','2020-05-02',dtype = np.datetime64) #生成日期范围(2)timedelta64 表示两个 datetime64 之间的差。timedelta64 也是带单位的,并且和相减运算中的两个 datetime64 中的较小的单位保持一致。
生成 timedelta64时,要注意年(‘Y’)和月(‘M’)这两个单位无法和其它单位进行运算(一年有几天?一个月有几个小时?这些都是不确定的)
(3)工作日的相关操作
#是否为工作日: np.is_busday('2020-05-01') #计算非0的数据 a=np.is_busday(np.arange(np.datetime64('2020-05-01'),np.datetime64('2020-06-01'))) np.count_nonzero(a)numpy 提供的最重要的数据结构是ndarray,它是 python 中list的扩展。 array()和asarray()的区别:当数据源是ndarray 时,array()仍然会 copy 出一个副本,占用新的内存,但不改变 dtype 时 asarray()不会。
(c)通过fromfunction()函数进行创建
#定义函数: def f(x, y): return 10 * x + y x = np.fromfunction(f, (5, 4), dtype=int) print(x) # [[ 0 1 2 3] # [10 11 12 13] # [20 21 22 23] # [30 31 32 33] # [40 41 42 43]] x = np.fromfunction(lambda i, j: i == j, (3, 3), dtype=int) print(x) # [[ True False False] # [False True False] # [False False True]]• arange()函数:返回给定间隔内的均匀间隔的值。 • linspace()函数:返回指定间隔内的等间隔数字。 • logspace()函数:返回数以对数刻度均匀分布。 • numpy.random.rand() 返回一个由[0,1)内的随机数组成的数组。
0.3 == 3 * 0.1#输出为错误Flase
日期类型转化
#日期类型的转化: import datetime import numpy as np dt64 = np.datetime64('2020-03-05 18:00:00') dt = dt64.astype(datetime.datetime)如何得到昨天,今天,明天的的日期 【知识点:时间日期】 (提示: np.datetime64, np.timedelta64)
yesterday = np.datetime64('today', 'D') - np.timedelta64(1, 'D') today = np.datetime64('today', 'D') tomorrow = np.datetime64('today', 'D') + np.timedelta64(1, 'D')创建一个二维数组,其中边界值为1,其余值为0 【知识点:二维数组的创建】 (提示: array[1:-1, 1:-1])
Z = np.ones((10,10)) Z[1:-1,1:-1] = 0 print(Z)创建长度为10的numpy数组,从5开始,在连续的数字之间的步长为3。 【知识点:数组的创建与属性】 如何在给定起始点、长度和步骤的情况下创建一个numpy数组序列?
import numpy as np start = 5 step = 3 length = 10 a = np.arange(start, start + step * length, step) print(a) # [ 5 8 11 14 17 20 23 26 29 32]将本地图像导入并将其转换为numpy数组。 【知识点:数组的创建与属性】 如何将图像转换为numpy数组?
import numpy as np from PIL import Image img1 = Image.open('test.jpg') a = np.array(img1) print(a.shape, a.dtype) # (959, 959, 3) uint8