Numpy简介
Numpy
NumPy系统是Python的一种开源的数组计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。
Numpy常用操作
创建数组
创建1维数组:
1 | data = np.array([1,3,4,8]) |
查看数组维度
1 | data.shape |
查看数组类型
1 | data.dtype |
通过索引获取或修改数组元素
1 2 | data[1] 获取元素 data[1] = 'a' 修改元素 |
创建二维数组
1 | 1.data = np.array([[1,2,3],[4,5,6]]) 两个元素均为列表<br>2.data = np.arange(10) 与python的range一样,range返回列表,arange返回array类型的一个数组<br>3.data2 = data.reshape(2,5) 返回一个2*5的数组,他不是拷贝数组是引用,只是返回数组的不同视图,data改变data2也会改变 |
创建特殊数组
1 2 3 | data = np.zeros((2,2)) 创建2*2全为0的2维数组 data = np.ones((2,3,3,)) 创建全为1的三维数组 data = np.eye(4) 创建4*4的对角数组,对角元素为1,其它都为0 |
数组转换
1 | data = np.arange(16).reshape(4,4) 将0-16的移位数组转换为4*4的数组 |
数组索引
1 | data = np.arrange(100,step=10) 先创建一个步长为10的数组 |
一维数组范围访问
1 2 3 | data[2:5] 访问第2-4之间的元素 data[:3] 访问0-2之间的元素 data[5:] = -1 将5-最后一个元素统一赋值为-1 |
二维或高维数组
1 | data = np.arrary(16).reshape(4,4) |
访问元素
1 2 3 4 5 | 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]) |
布尔索引
1 2 3 4 5 | data>10 数组中每个元素与10比较返回布尔值组成的数组 idx = data>10 获得布尔数组 data[idx] 获取大于10的数组 data[data>10] 获取data数组里面大于10的元素构成的新数组 data[data%2==0] 获取data里面所有偶数元素构成的新数组 |
数学运算
1 2 3 4 5 6 7 8 9 10 | 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表示均分份数 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步