创建ndarray对象只需调用numpy的array函数即可
numpy.array(object , dtype = None , copy = True , order = None , subok = False , ndmin = 0) 参数 描述object 数组或嵌套的数列
dtype 数组元素的数据类型
copy 对象是否需要复制
order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok 默认返回一个与基类类型相同的数组
ndmin 指定生成数组的最小维度
import numpy as np array=np.array([1,2,3]) print(array) [1 2 3] array=np.array([[1,2],[3,4]]) print(array) [[1 2] [3 4]] #最小维度测试 array=np.array([1,2,3],ndmin=2) print(array) [[1 2 3]] #dtype参数测试 array=np.array([1,2,3],dtype=float) print(array) [1. 2. 3.] numpy常用数据类型 类型 类型代码 描述
int8、uint8 i1、u1 有符号和无符号的8位(1个字节)整型
int16、uint16 i2、u2 有符号和无符号的16位(2个字节)整型
int32、uint32 i4、u4 有符号和无符号的32位(4个字节)整型
int64、uint64 i8、u8 有符号和无符号的64位(8个字节)整型
float16 f2 半精度浮点数,包括:1个符号位,5个指数位,10个尾数位
float32 f4或f 标准的单精度浮点数,包括:1个符号位,8个指数位,23个尾数位。与C的float兼容
float64 f8或d 标准的单精度浮点数,包括:1个符号位,11个指数位,52个尾数位。与C的double和Python的float对象兼容
complex64、complex128 c8、c16 分别用两个32位、64位浮点数表示的复数
bool ? 布尔数据类型(表示True或False)
数据类型对象(dtype)
dtype对象使用dtype函数构造
numpy.dtype(object , align , copy) 参数 描述object 要转化为的数据对象
align 如果为True,使其形成类似C的结构体
copy 复制dtype对象,如果为False,则是对内置函数类型对象的引用
import numpy as np #使用标量类型 dt=np.dtype(np.int64) print(dt) int64 #使用类型代码 dt=np.dtype('u8') print(dt) uint64 array=np.array([1,2,3],dtype=float) print(array) print(array.dtype) [1. 2. 3.] float64 ndarray对象属性
ndarray对象属性有:
属性 描述ndarray.ndim 秩,即轴的数量或维度的数量
ndarray.shape 数组的维度,对应矩阵,m行n列
ndarray.size 数组元素的个数,相当于.shape中的m*n的值
ndarray.dtype ndarray对象的元素类型
ndarray.itemsize ndarray对象每个元素的大小,以字节为单位
ndarray.flags ndarray对象的内存信息
ndarray.real ndarray对象的实部
ndarray.imag ndarray对象的虚部
import numpy as np #ndim属性 array_a=np.array([1,2,3,4,5,6,7,8]) print(array_a) print(array_a.ndim) #调整大小 array_b=array_a.reshape(2,2,2) print(array_b) print(array_b.ndim) [1 2 3 4 5 6 7 8] 1 [[[1 2] [3 4]] [[5 6] [7 8]]] 3 #shape属性 array=np.array([[1,2],[3,4]]) print(array) print(array.shape) #调整大小 array.shape=(4,1) print(array) #通过reshape函数调整大小 array=array.reshape(1,4) print(array) [[1 2] [3 4]] (2, 2) [[1] [2] [3] [4]] [[1 2 3 4]] #itemsize属性 array_a=np.array([1,2,3],dtype=np.int64) print(array_a.itemsize) array_b=np.array([1,2,3],dtype=np.int8) print(array_b.itemsize) 8 1