安装numpy

通过python pip安装numpy

  1. pip install numpy

numpy ndarray对象

创建ndarray对象只需调用numpy的array函数即可

  1. numpy.array(object , dtype = None , copy = True , order = None , subok = False , ndmin = 0)
参数 描述
object 数组或嵌套的数列
dtype 数组元素的数据类型
copy 对象是否需要复制
order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok 默认返回一个与基类类型相同的数组
ndmin 指定生成数组的最小维度
  1. import numpy as np
  2. array=np.array([1,2,3])
  3. print(array)
  1. [1 2 3]
  1. array=np.array([[1,2],[3,4]])
  2. print(array)
  1. [[1 2]
  2. [3 4]]
  1. #最小维度测试
  2. array=np.array([1,2,3],ndmin=2)
  3. print(array)
  1. [[1 2 3]]
  1. #dtype参数测试
  2. array=np.array([1,2,3],dtype=float)
  3. print(array)
  1. [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函数构造

  1. numpy.dtype(object , align , copy)
参数 描述
object 要转化为的数据对象
align 如果为True,使其形成类似C的结构体
copy 复制dtype对象,如果为False,则是对内置函数类型对象的引用
  1. import numpy as np
  2. #使用标量类型
  3. dt=np.dtype(np.int64)
  4. print(dt)
  1. int64
  1. #使用类型代码
  2. dt=np.dtype('u8')
  3. print(dt)
  1. uint64
  1. array=np.array([1,2,3],dtype=float)
  2. print(array)
  3. print(array.dtype)
  1. [1. 2. 3.]
  2. 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对象的虚部
  1. import numpy as np
  2. #ndim属性
  3. array_a=np.array([1,2,3,4,5,6,7,8])
  4. print(array_a)
  5. print(array_a.ndim)
  6. #调整大小
  7. array_b=array_a.reshape(2,2,2)
  8. print(array_b)
  9. print(array_b.ndim)
  1. [1 2 3 4 5 6 7 8]
  2. 1
  3. [[[1 2]
  4. [3 4]]
  5. [[5 6]
  6. [7 8]]]
  7. 3
  1. #shape属性
  2. array=np.array([[1,2],[3,4]])
  3. print(array)
  4. print(array.shape)
  5. #调整大小
  6. array.shape=(4,1)
  7. print(array)
  8. #通过reshape函数调整大小
  9. array=array.reshape(1,4)
  10. print(array)
  1. [[1 2]
  2. [3 4]]
  3. (2, 2)
  4. [[1]
  5. [2]
  6. [3]
  7. [4]]
  8. [[1 2 3 4]]
  1. #itemsize属性
  2. array_a=np.array([1,2,3],dtype=np.int64)
  3. print(array_a.itemsize)
  4. array_b=np.array([1,2,3],dtype=np.int8)
  5. print(array_b.itemsize)
  1. 8
  2. 1