元素计算函数

  1. ceil(): 向上最接近的整数,参数是 number 或 array

  2. floor(): 向下最接近的整数,参数是 number 或 array

  3. rint(): 四舍五入,参数是 number 或 array
  4. isnan(): 判断元素是否为 NaN(Not a Number),参数是 number 或 array
  5. multiply(): 元素相乘,参数是 number 或 array
  6. divide(): 元素相除,参数是 number 或 array
  7. abs():元素的绝对值,参数是 number 或 array
  8. where(condition, x, y): 三元运算符,x if condition else y

示例代码(1、2、3、4、5、6、7):

# randn() 返回具有标准正态分布的序列。
arr = np.random.randn(2,3) print(arr) print(np.ceil(arr)) print(np.floor(arr)) print(np.rint(arr)) print(np.isnan(arr)) print(np.multiply(arr, arr)) print(np.divide(arr, arr)) print(np.where(arr > 0, 1, -1))

运行结果:

# print(arr)
[[-0.75803752 0.0314314 1.15323032]
[ 1.17567832 0.43641395 0.26288021]] # print(np.ceil(arr))
[[-0. 1. 2.]
[ 2. 1. 1.]] # print(np.floor(arr))
[[-1. 0. 1.]
[ 1. 0. 0.]] # print(np.rint(arr))
[[-1. 0. 1.]
[ 1. 0. 0.]] # print(np.isnan(arr))
[[False False False]
[False False False]] # print(np.multiply(arr, arr))
[[ 5.16284053e+00 1.77170104e+00 3.04027254e-02]
[ 5.11465231e-03 3.46109263e+00 1.37512421e-02]] # print(np.divide(arr, arr))
[[ 1. 1. 1.]
[ 1. 1. 1.]] # print(np.where(arr > 0, 1, -1))
[[ 1 1 -1]
[-1 1 1]]

元素统计函数

  1. np.mean()np.sum():所有元素的平均值,所有元素的和,参数是 number 或 array

  2. np.max()np.min():所有元素的最大值,所有元素的最小值,参数是 number 或 array

  3. np.std()np.var():所有元素的标准差,所有元素的方差,参数是 number 或 array
  4. np.argmax()np.argmin():最大值的下标索引值,最小值的下标索引值,参数是 number 或 array
  5. np.cumsum()np.cumprod():返回一个一维数组,每个元素都是之前所有元素的 累加和 和 累乘积,参数是 number 或 array
  6. 多维数组默认统计全部维度,axis参数可以按指定轴心统计,值为0则按列统计,值为1则按行统计。

示例代码:

arr = np.arange(12).reshape(3,4)
print(arr) print(np.cumsum(arr)) # 返回一个一维数组,每个元素都是之前所有元素的 累加和 print(np.sum(arr)) # 所有元素的和 print(np.sum(arr, axis=0)) # 数组的按列统计和 print(np.sum(arr, axis=1)) # 数组的按行统计和

运行结果:

# print(arr)
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]] # print(np.cumsum(arr))
[ 0 1 3 6 10 15 21 28 36 45 55 66] # print(np.sum(arr)) # 所有元素的和
66 # print(np.sum(arr, axis=0)) # 0表示对数组的每一列的统计和
[12 15 18 21] # print(np.sum(arr, axis=1)) # 1表示数组的每一行的统计和
[ 6 22 38]

元素判断函数

  1. np.any(): 至少有一个元素满足指定条件,返回True
  2. np.all(): 所有的元素满足指定条件,返回True

示例代码:

arr = np.random.randn(2,3)
print(arr) print(np.any(arr > 0))
print(np.all(arr > 0))

运行结果:

[[ 0.05075769 -1.31919688 -1.80636984]
[-1.29317016 -1.3336612 -0.19316432]] True
False

元素去重排序函数

np.unique():找到唯一值并返回排序结果,类似于Python的set集合

示例代码:

arr = np.array([[1, 2, 1], [2, 3, 4]])
print(arr) print(np.unique(arr))

运行结果:

[[1 2 1]
[2 3 4]] [1 2 3 4]

ndnarry元素处理的更多相关文章

  1. 读书笔记:《HTML5开发手册》--HTML5新的结构元素

    读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...

  2. 【CSS进阶】伪元素的妙用--单标签之美

    最近在研读 <CSS SECRET>(CSS揭秘)这本大作,对 CSS 有了更深层次的理解,折腾了下面这个项目: CSS3奇思妙想 -- Demo (请用 Chrome 浏览器打开,非常值 ...

  3. HTML kbd键盘元素

    1. 说明 kbd :即Keyboard Input Element(键盘输入元素).表示键盘按键的语义元素,常用于网页上对快捷键.按键说明的场景. 样式规格:内联样式. 为了在页面上突出显示,可以给 ...

  4. CSS HTML元素布局及Display属性

    本篇文章主要介绍HTML的内联元素.块级元素的分类与布局,以及dispaly属性对布局的影响. 目录 1. HTML 元素分类:介绍内联元素.块级元素的分类. 2. HTML 元素布局:介绍内联元素. ...

  5. HTML5 语义元素(一)页面结构

    本篇主要介绍HTML5增加的语义元素中关于页面结构方面的,包含: <article>.<aside>.<figure>.<figcaption>.< ...

  6. HTML5 语义元素(二)文本内容

    上一篇介绍的是关于页面结构方面的语义元素,本篇介绍文本内容方面,包含:<bdi>.<details>.<summary>.<mark>.<outp ...

  7. HTML5 input元素新的特性

    在HTML5中,<input>元素增加了许多新的属性.方法及控件.本文章分别对这三方面进行介绍. 目录 1. 属性 2. 方法 3. 新控件 1. 属性 <input>元素在H ...

  8. HTML块级元素

    前面的话   在HTML5出现之前,人们一般把元素分为块级.内联和内联块元素.本文将详细介绍HTML块级元素 h   标题(Heading)元素有六个不同的级别,<h1>是最高级的,而&l ...

  9. JavaScript动画-拖拽改变元素大小

    ▓▓▓▓▓▓ 大致介绍 拖拽改变元素大小是在模拟拖拽上增加了一些功能 效果:拖拽改变元素大小 ▓▓▓▓▓▓ 拖拽改变元素大小原理 首先这个方块得知道我们想要改变这个它的大小,所以我给它设定一个范围,当 ...

随机推荐

  1. 51nod 1161 组合数,规律

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1161 显然,题目可以转化为矩阵求解,但复杂度显然时空都不允许,我们如果自 ...

  2. Installing Forms Developer 10g and Reports 32-bit on 64-bit Windows versions(win7 or win10)

    E-Business Suite 12.1 and 12.2 require Forms Developer 10g and Reports Designer 10g.  Forms Develope ...

  3. 上传图片到阿里云oss

    阿里云地址 登录阿里云管理控制台,创建对象存储oss private static final String endpoint = "http://oss-cn-shanghai.aliyu ...

  4. UI-定时器与动画使用总结

    #pragma mark - 定时器   ******************************************************************************* ...

  5. Python基础学习(第2天)

    第三课:序列(sequence) 1.序列是一种有顺序的元素的集合 序列可以包含1个或多个元素,也可以不包括任何元素: 序列中的元素可以是[基础数据类型]中任一种,也可以是[别的序列]. s1 = ( ...

  6. PostgreSQL.conf文件配置详解[转]

    一.连接配置与安全认证 1.连接Connection Settings   listen_addresses (string) 这个参数只有在启动数据库时,才能被设置.它指定数据库用来监听客户端连接的 ...

  7. Eclipse上安装springsource-tool-suite(转)

    Eclipse上安装springsource-tool-suite 版本必须匹配. spring tool suite 是一个基于eclipseIDE开发环境中的用于开发spring应用程序的工具.提 ...

  8. 作为一名Java开发工程师需要掌握的专业技能

    在学习Java编程完之后,学员们面临的就是就业问题.作为一名Java开发工程师,企业在招聘的时候,也是有一定的标准的. 为了帮助大家更好的找到适合自己的工作,在这里分享了作为一名Java开发工程师需要 ...

  9. C++中继承关系中的同名隐藏和对策

    在C++及其面向对象的理论中,有这样的场景:一个类继承自另外一个类,如果这两个类都有一个函数名和参数及其返回值一样的成员函数,那么子类的函数会自动将父类对应的函数隐藏.即同名隐藏.在有时的开发过程中, ...

  10. make命令和makefile文件

    make命令和makefile文件的结合提供了一个在项目管理领域十分强大的工具,它不仅常被用于控制源代码的编译,而且还用于手册页的编写以及将应用程序安装到目标目录. makefile文件由一组依赖关系 ...