安装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 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