numPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。
Numpy的ndarray对象
创建ndarray数组
In [1]: import numpy as np
In [2]: newarr1=[1,2,3,4]
In [3]: arr1=np.array(newarr1)
In [4]: arr1
Out[4]: array([1, 2, 3, 4])
In [5]: newarr2=[[1,2,3,4],[1,2,3,4]]
In [6]: arr2=np.array(newarr2)
In [7]: arr2
Out[7]:
array([[1, 2, 3, 4],
[1, 2, 3, 4]])
矩阵创建函数
- array() 将输入数据(列表、元组、数组)转换为ndarray
- asarray() 将输入转换为ndarray对像
- arange() 类似range()函数,返回一个ndarray,不是列表
- ones、ones_like 根据指定的形状和dtype创建全1数组。one_like 按照另一个数组为参数,来构建
- zeros,zeros_like 与第4条类似,只不过是生成全零数组
- empty,emoty_like 同上,但是只分配内存空间不存放任何值。
- eye,identity 创建一个正方形N*N单位矩阵
例
In [11]: np.zeros((3,6))
Out[11]:
array([[ 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0.]])
In [12]: np.arange(10)
Out[12]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
ndarray的数据类型
In [14]: arr3=np.array([1,2,3],dtype=np.float64)
In [15]: arr4=np.array([1,2,3],dtype=np.int32)
In [16]: arr3.dtype
Out[16]: dtype('float64')
In [17]: arr4.dtype
Out[17]: dtype('int32')
类型 描述
inti 整数,大小由平台决定
int8 整数,大小为一个字节,范围:-128 ~ 127
int16 整数,范围:-32768 ~ 32767
int32 整数,范围:-2**31 ~ 2*31-1
int64 整数,范围:-2**31 ~ 2*31-1
uint8 无符号整数,0 ~ 255
uint16 无符号整数:0 ~ 65535
uint32 无符号整数: 0 ~ 2**32-1
uint64 无符号整数: 0 ~ 2**64-1
float16 半精度浮点数: 16位 ,正负号1位,指数5位,精度10位
float32 单精度浮点数:32位,正负号1位,指数8位,精度32位
float64 / float 双精度浮点数: 64位,正负号1位,指数11位,精度52位
complex64 复数,分别用于两个32位浮点数表示实部和虚部
complex128 / complex 复数,分别用两个64位浮点数表示实部和虚部
查看数据类型用dtype()方法
转换数据类型用astype()方法,如arr1.astype(float)