博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python对ndarray数组的操作(索引和切片)和运算
阅读量:3959 次
发布时间:2019-05-24

本文共 2941 字,大约阅读时间需要 9 分钟。

索引和切片

一维数组的索引和切片

切片 : 起始位置:结束位置:步长

>>> a=np.array([1,5,6,8,1,5])>>> aarray([1, 5, 6, 8, 1, 5])>>> a[4]1>>> a[1:4:2]array([5, 8])
多维数组的索引和切片
>>> b=np.arange(24).reshape((2,3,4))>>> barray([[[ 0,  1,  2,  3],        [ 4,  5,  6,  7],        [ 8,  9, 10, 11]],       [[12, 13, 14, 15],        [16, 17, 18, 19],        [20, 21, 22, 23]]])>>> b[1,2,3]23>>> b[0,2,3]11>>> b[-1,-2,-]SyntaxError: invalid syntax>>> b[-1,-2,-3]17>>> b[:,1,-3]array([ 5, 17])>>> b[:,1:3,:]array([[[ 4,  5,  6,  7],        [ 8,  9, 10, 11]],       [[16, 17, 18, 19],        [20, 21, 22, 23]]])

运算

一元函数:对数组各个元素进行操作运算

函数名 描述
np.abs(x) / np.fabs(x) 求个元素的绝对值
np.sqrt(x) 求平方根
np.square(x) 求平方
np.log(x) 求自然对数
np.ceil(x) / np.floor(x) 求其ceil值与floor值
np.rint(x) 四舍五入
np.modf(x) 将小数与整数分开以俩个数组进行保存
np.cos(x)等系列 求cos值等
np.exp(x) 求指数值
np.sign(x) 返回符号值 -1 ,0,1.

部分方法的使用:

>>> import numpy as np>>> a=np.arange(24).reshape((2,3,4))>>> aarray([[[ 0,  1,  2,  3],        [ 4,  5,  6,  7],        [ 8,  9, 10, 11]],       [[12, 13, 14, 15],        [16, 17, 18, 19],        [20, 21, 22, 23]]])>>> np.square(a)array([[[  0,   1,   4,   9],        [ 16,  25,  36,  49],        [ 64,  81, 100, 121]],       [[144, 169, 196, 225],        [256, 289, 324, 361],        [400, 441, 484, 529]]], dtype=int32)>>> np.sqrt(a)array([[[0.        , 1.        , 1.41421356, 1.73205081],        [2.        , 2.23606798, 2.44948974, 2.64575131],        [2.82842712, 3.        , 3.16227766, 3.31662479]],       [[3.46410162, 3.60555128, 3.74165739, 3.87298335],        [4.        , 4.12310563, 4.24264069, 4.35889894],        [4.47213595, 4.58257569, 4.69041576, 4.79583152]]])>>> np.modf(a)(array([[[0., 0., 0., 0.],        [0., 0., 0., 0.],        [0., 0., 0., 0.]],       [[0., 0., 0., 0.],        [0., 0., 0., 0.],        [0., 0., 0., 0.]]]), array([[[ 0.,  1.,  2.,  3.],        [ 4.,  5.,  6.,  7.],        [ 8.,  9., 10., 11.]],       [[12., 13., 14., 15.],        [16., 17., 18., 19.],        [20., 21., 22., 23.]]]))

二元函数:俩个数组各元素进行对应运算

函数名 描述
np.maximun(a,b) 元素级最大值计算
np.minimun(a,b) 元素级最小值计算
np.mod(a,b) 元素级的模运算
np.copysign(a,b) 将数组b中个元素值的符号赋值给a中对应元素

还有最简单的== 、 != 、>=等算术比较,返回值只有布尔值的ndarray数组


部分方法的使用:

>>> b=np.sqrt(a)>>> barray([[[0.        , 1.        , 1.41421356, 1.73205081],        [2.        , 2.23606798, 2.44948974, 2.64575131],        [2.82842712, 3.        , 3.16227766, 3.31662479]],       [[3.46410162, 3.60555128, 3.74165739, 3.87298335],        [4.        , 4.12310563, 4.24264069, 4.35889894],        [4.47213595, 4.58257569, 4.69041576, 4.79583152]]])>>> np.maximum(a,b)array([[[ 0.,  1.,  2.,  3.],        [ 4.,  5.,  6.,  7.],        [ 8.,  9., 10., 11.]],       [[12., 13., 14., 15.],        [16., 17., 18., 19.],        [20., 21., 22., 23.]]])>>> a>barray([[[False, False,  True,  True],        [ True,  True,  True,  True],        [ True,  True,  True,  True]],       [[ True,  True,  True,  True],        [ True,  True,  True,  True],        [ True,  True,  True,  True]]])

转载地址:http://mxmzi.baihongyu.com/

你可能感兴趣的文章
客户端技术分页控件javascript+css,可用于任何服务器端技术
查看>>
学习Swing 的网站[转]
查看>>
Google App engine 的第一个应用 midispot
查看>>
提问的智慧
查看>>
关于dom4j无法解析xmlns问题及生成非UTF-8字符集乱码问题的解决
查看>>
很好的一篇文章 如果让我重做一次研究生 王汎森
查看>>
保护U盘批处理文件
查看>>
hibernate 自动导入sql 文件import.sql 国际化编码的问题的解决方案
查看>>
第七颗头骨 & 忘魂花 凤凰
查看>>
李小龙哲学之言
查看>>
[心情] 如果有一天
查看>>
[Linux] 常用 linux 系统命令及维护备忘
查看>>
[Linux] 关于 Ext4 HowTo
查看>>
[杂记] 新年物语&关于Mysql引擎性能测试
查看>>
[心得] 近期更新&关于Infobright
查看>>
[杂记] 流量统计 & 短信接口
查看>>
[中间件] 消息处理利器 ActiveMQ 的介绍 & Stomp 协议的使用
查看>>
[设计] 原型界面设计利器 Balsamiq Mockups 推荐
查看>>
[闲话] 在西方的程序员眼里,东方的程序员是什么样的
查看>>
[管理] 成功之路的探寻 —— “三力” 理论
查看>>