numpy是python的一个扩展库,常用来进行多维数组和矩阵运算,常用于数据科学运算,他的优点有是有一个强大的多维数组对象ndarray,该库的很多运算功能是由C/C++来铺垫整合的
元素类型 | 描述 |
---|---|
bool | True/False |
intc | 与C语言int类型一致,一般是int32或int64 |
intp | 用于索引整数,int32或int64 |
int8 | 字节长度整数,取值[-128,127] |
int16 | 16位长度整数,取值[-32768,32767] |
int32 | 32位长度整数,取值[-231,231-1] |
int64 | 64位长度整数,取值[-263,263 -1] |
uint8/uint16/uint32/uint64 | 无符号整数 |
float16/float32/float64 | 半精度浮点数 |
complex64/complex128 | 实部虚部都是_位的复数类型 |
import numpy as np
创建ndarray的数组方法有3种:
>>> a= np.array([0,1,2,3,4]) 列表创建
>>> b= np.array((0,1,2,3,4)) 元组创建
>>> c= np.array([[0,1,2],(3,4)]) 列表和元组混合创建
结果分别是:
>>> a
array([0, 1, 2, 3, 4])
>>> b
array([0, 1, 2, 3, 4])
>>> c
array([list([0, 1, 2]), (3, 4)], dtype=object)
>>> a = np.arange(10) 生成元素从0至n-1的数组
>>> a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> b=np.ones((3,6)) 生成全1数组,参数为元组类型
>>> b
array([[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.]])
>>> b2 =np.ones((2,3,6)) 生成多维全1数组
>>> b2
array([[[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.]],
[[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.]]])
>>> c=np.zeros((3,6)) 生成全0数组,参数为元组类型
>>> c
array([[0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0.]])
>>> d=np.eye(3) 创建n*n的单位矩阵,对角线为1,其余为0
>>> d
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
>>> a=np.linspace(1,10,4) 根据起止距离等间距填充数据,默认浮点数
>>> a
array([ 1., 4., 7., 10.])
>>> a=np.linspace(1,10,4,endpoint=False) 10不包括在末尾元素
>>> a
array([1. , 3.25, 5.5 , 7.75])
>>> a=np.linspace(1,10,4)
>>> b=np.linspace(1,10,4,endpoint=False)
>>> c = np.concatenate((a,b)) 将两个或多个数组组合成新的数组
>>> c
array([ 1. , 4. , 7. , 10. , 1. , 3.25, 5.5 , 7.75])