安装numpy
通过python pip安装numpy
pip install numpy
numpy ndarray对象
创建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 nparray=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)
81
