Numpy简介

Numpy

  NumPy系统是Python的一种开源的数组计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。

 Numpy常用操作

创建数组

创建1维数组:

data = np.array([1,3,4,8])  

 查看数组维度

data.shape

 查看数组类型

data.dtype

 通过索引获取或修改数组元素

data[1]  获取元素
data[1] = 'a' 修改元素  

 创建二维数组

1.data = np.array([[1,2,3],[4,5,6]])   两个元素均为列表
2.data = np.arange(10) 与python的range一样,range返回列表,arange返回array类型的一个数组
3.data2 = data.reshape(2,5) 返回一个2*5的数组,他不是拷贝数组是引用,只是返回数组的不同视图,data改变data2也会改变

 创建特殊数组 

data = np.zeros((2,2))  创建2*2全为0的2维数组
data = np.ones((2,3,3,))  创建全为1的三维数组
data = np.eye(4)   创建4*4的对角数组,对角元素为1,其它都为0

 数组转换

data = np.arange(16).reshape(4,4)   将0-16的移位数组转换为4*4的数组  

数组索引

data = np.arrange(100,step=10)  先创建一个步长为10的数组

 一维数组范围访问

data[2:5]   访问第2-4之间的元素
data[:3]   访问0-2之间的元素
data[5:] = -1  将5-最后一个元素统一赋值为-1

 二维或高维数组

data = np.arrary(16).reshape(4,4)

 访问元素

data[1] 返回array第一行元素
data[1:3]   返回第一行到第三行元素
data[:,2:4]   返回所有行的第二到第四列元素
data[1:3,2:4]     返回第1到第二行且列数为2-4之间的元素
data[[1,3],[2,3]]   返回第一行第二列元素与第三行第三列元素(=data[1,2],data[3,3])

 布尔索引

data>10   数组中每个元素与10比较返回布尔值组成的数组
idx = data>10  获得布尔数组
data[idx]   获取大于10的数组
data[data>10]  获取data数组里面大于10的元素构成的新数组  
data[data%2==0]   获取data里面所有偶数元素构成的新数组

 数学运算

 

x = np.arange(1,5).reshape(2,2)
y = np.arange(5,9).reshape(2,2)
z = x+y 或np.add(x,y)   数组中对应位置元素相加,减法同理
c = x*y   数组中对应位置元素相乘
h = x.dot(y)   矩阵内积
q = x/y   数组对应位置相除
n = np.sqrt(x)   平方根
x.T   转置矩阵
np.linspace(1,10,num=200)  指定在数轴上起始位置与均分,num表示均分份数
   

  

 

 

 

 

 

原文地址:https://www.cnblogs.com/chenice/p/7182628.html