目录
numpy的数组类型
数组的数据类型定制
数组对象的创建
数组数据类型
数组的属性
创建数组的其他方法
numpy的数组类型
import numpy as np# 创建数组对象 arr = np.array([1, 2, 3]) print([1,2,3]) print(arr) print(type(arr)) #<class 'numpy.ndarray'># 特点:用中括号包裹,用逗号隔开
数组的数据类型定制
import numpy as np# 定制数据类型的位数,限制输入的数据范围 # 定制方法1:直接使用numpy模块选中对应的数据类型 d1 = np.dtype(np.int32) print(d1) print(type(d1)) # <class 'numpy.dtype[int32]'># 方法2:使用数据类型对应的字符代码 d2 = np.dtype('i4') #数据代表位数,1代表8,2代表16,4代表32,8代表64 print(d2) print(type(d2)) #<class 'numpy.dtype[int32]'># 方法3:结构化类型,给数组中每一个元素定制名字以及数据类型 ['小白',18,98.5] d3 = np.dtype([('name','S20'),('age',np.int32),('score',np.float32)]) print(d3) print(type(d3)) #<class 'numpy.dtype[void]'>
数组对象的创建
import numpy as np# np.array(object,dtype=None) arr1 = np.array([1,2,3]) print(arr1)# 优先级:字符串str>浮点float>整型int arr2 = np.array([1,2,3,4.5,8,3.4]) print(arr2) #[1. 2. 3. 4.5 8. 3.4] 传入的元素会自动同步数据类型# 快速生成数据办法 print(range(10)) # 在数组中可以利用range快速生成 print(np.array(range(10))) #[0 1 2 3 4 5 6 7 8 9]# np.arange(起始值,结束值,步长) == range() arr3 = np.arange(10) print(arr3) #[0 1 2 3 4 5 6 7 8 9]arr4 = np.arange(1,100) print(arr4) #1-99arr5 = np.arange(1,100,3) print(arr5)
数组数据类型
import numpy as np# np.array(object,dtype=None) arr1 = np.array([1,2,3,4,5],dtype='f4') arr2 = np.array([1,2,3,4,5],dtype=float)print(arr1) print(type(arr2))d3 = np.dtype([('name','S20'),('age',np.int32),('score',np.float32)]) arr3 = np.array([('xiaohong',18,89.2),('xiaobai',12,88.7)]) print(arr3) #二维数组 # [['xiaohong' '18' '89.2'] # ['xiaobai' '12' '88.7']]arr4 = np.array([('xiaohong',18,89.2),('xiaobai',12,88.7)],dtype=d3) print(arr4) #[(b'xiaohong', 18, 89.2) (b'xiaobai', 12, 88.7)]
数组的属性
import numpy as np """ 数组中有一个套娃的概念,默认创建的数组就是一维数组 [1 2 3] 二维数组就是多个一维数组拼接后的结果 三维数组就是多个二维数组拼接 """ arr1 = np.arange(12) print(arr1) # 查看当前数组的维度 print(arr1.ndim) # 1# 查看数组形状 print(arr1.shape) #(12,) 一行12列 一维数组只会出现(列数,)# 改变数组形状(临时) print(arr1.reshape(3,4))# 查看数组元素中的总个数,相当于让行列相乘 3*4 print(arr1.size)# 自定义二维数组 arr2 = np.array([[1,2,3],[2,3,4]]) print(arr2) print(arr2.shape)# 自定义三维数组 arr3 = np.array([ [[1,2,3],[2,3,4]], [[1,2,3],[2,3,4]] ]) print(arr3) print(arr3.shape) #三维数组中有两块数据(两个二维数组),每一块数据都是2行3列
创建数组的其他方法
import numpy as np# 创建一个2行3列的,全为0的二维数组,数据类型为整形 arr1 = np.zeros((2,3),dtype=int) print(arr1)# 创建一个全为1的数组 arr2 = np.ones(shape=(3,4)) print(arr2)# 创建指定数据填充的数组 arr3 = np.full(fill_value=2,shape=(2,4),dtype=int) print(arr3)