1.算术运算符

它们只用于位置相同的元素之间,即为元素级的运算。
所得到的运算结果组成一个新的数组。
不用编写循环即可对数据执行批量运算。(矢量化)

import numpy as np

# 创建一个数组
a = np.arange(4)
print('数组a ', a) # 加上一个标量
print('加标量', a + 4) # 乘以一个标量
print('乘标量', a * 2)
数组a  [0 1 2 3]
加标量 [4 5 6 7]
乘标量 [0 2 4 6]
b = np.arange(4, 8)
print('数组b ', b) print('a + b ', a + b)
print('a - b ', a - b)
print('a * b ', a * b)
数组b  [4 5 6 7]
a + b [ 4 6 8 10]
a - b [-4 -4 -4 -4]
a * b [ 0 5 12 21]

这些运算符还使用于返回值为NumPy数组的函数。

# 数组a乘以数组b的正弦值
print(a * np.sin(b)) print('-------------------------------------------------') # 数组a乘以数组b的平方根
print(a * np.sqrt(b))
[-0.         -0.95892427 -0.558831    1.9709598 ]
-------------------------------------------------
[0. 2.23606798 4.89897949 7.93725393]

对于多维数组,这些运算符仍然是元素级的。

A = np.arange(0, 9).reshape(3,3)
print('数组A:')
print(A) B = np.ones((3, 3))
B[1][1] = 2.5
print('数组B:')
print(B) print('A*B:')
print(A*B)
数组A:
[[0 1 2]
[3 4 5]
[6 7 8]]
数组B:
[[1. 1. 1. ]
[1. 2.5 1. ]
[1. 1. 1. ]]
A*B:
[[ 0. 1. 2.]
[ 3. 10. 5.]
[ 6. 7. 8.]]

2.矩阵积(mastrix produet)

NumPy用dot()函数表示这类乘法,该运算不是元素级的。
所得到的数组中每个元素为,第一个矩阵中与该元素行号相同的元素与第二个矩阵中与该元素列号相同的元素,两两相乘后再求和。
设A为m x n的矩阵,B为p x n的矩阵,则dot(A,B)为m x n的矩阵。
假设dot(A, B)得到数组C,则C中的第1行第1列的元素为 3 x 1.0 + 4 x 2.5 + 5 x 1.0 = 18.0
矩阵计算不遵循交换律。即dot(A,B)不等于dot(B,A)

C = np.dot(A, B)
# 另一种写法 C = A.dot(B)
print('dot(A,B)结果:')
print(C) C1 = np.dot(B,A)
print('dot(B,A)结果:')
print(C1)
dot(A,B)结果:
[[ 3. 4.5 3. ]
[12. 18. 12. ]
[21. 31.5 21. ]]
dot(B,A)结果:
[[ 9. 12. 15. ]
[13.5 18. 22.5]
[ 9. 12. 15. ]]

3.自增和自减运算符

运算结果不是赋给一个新数组。
当想修改数组的值而不想生成新数组时可以使用它们。

a = np.arange(4)
print('原数组', a) a += 1
print('自加1 ', a) a -= 3
print('自减3 ', a)
原数组 [0 1 2 3]
自加1 [1 2 3 4]
自减3 [-2 -1 0 1]

4.通用函数(ufunc = universal function)

它对数组中的各个元素逐一进行操作。
通用函数分别处理输入数组的每个元素,生成的结果组成一个新的输出数组。
三角函数等很多数学运算符符合通用函数的定义。

a = np.array([0, 1, 2, 3, 4])
print(np.sqrt(a)) # 计算平方根
[0.         1.         1.41421356 1.73205081 2.        ]

5.聚合函数

聚合函数是指对一组值(如数组)进行操作,返回一个单一值作为结果的函数。

a = np.array([3.3, 4.5, 1.2, 5.7, 0.3])
print('总和: ', a.sum())
print('最小值:', a.min())
print('最大值:', a.max())
print('平均值:', a.mean())
print('标准差:', a.std())
总和:   15.0
最小值: 0.3
最大值: 5.7
平均值: 3.0
标准差: 2.0079840636817816

NumPy学习_02 ndarray基本操作的更多相关文章

  1. NumPy学习_00 ndarray的创建

    1.使用array()函数创建数组 参数可以为:单层或嵌套列表:嵌套元组或元组列表:元组或列表组成的列表 # 导入numpy库 import numpy as np # 由单层列表创建 a = np. ...

  2. NumPy学习_01 ndarray相关概念

    1.NumPy库 NumPy = Numerical Python 是高性能科学计算和数据分析的基础库. pandas库充分借鉴了NumPy的相关概念,先行掌握NumPy库的用法,才能把pandas的 ...

  3. Python数据分析:Numpy学习笔记

    Numpy学习笔记 ndarray多维数组 创建 import numpy as np np.array([1,2,3,4]) np.array([1,2,3,4,],[5,6,7,8]) np.ze ...

  4. 数据分析之Pandas和Numpy学习笔记(持续更新)<1>

    pandas and numpy notebook        最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...

  5. 【大数据技术能力提升_2】numpy学习

    numpy学习 标签(空格分隔): numpy python 数据类型 5种类型:布尔值(bool),整数(int),无符号整数(uint).浮点(float).复数(complex) 支持的原始类型 ...

  6. Python NumPy学习总结

    一.NumPy简介 其官网是:http://www.numpy.org/ NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Num ...

  7. NumPy学习(让数据处理变简单)

    NumPy学习(一) NumPy数组创建 NumPy数组属性 NumPy数学算术与算数运算 NumPy数组创建 NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型. 它描述相同 ...

  8. numpy 学习笔记

    numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...

  9. numpy 学习总结

    numpy 学习总结 作者:csj更新时间:01.09 email:59888745@qq.com 说明:因内容较多,会不断更新 xxx学习总结: 回主目录:2017 年学习记录和总结 #生成数组/使 ...

随机推荐

  1. JavaScript数组方法--filter、find、findIndex

    继续数组方法,今天应该到filter了. filter:filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素. 使用: var words = ['spray', 'lim ...

  2. Docker技术应用场景(转载)

    场景一:节省项目环境部署时间 1.单项目打包 每次部署项目到测试.生产等环境,都要部署一大堆依赖的软件.工具,而且部署期间出现问题几率很大,不经意就花费了很长时间. Docker主要理念就是环境打包部 ...

  3. python之路:列表及元组之定义

      python开发之路:列表及元组之定义 列表是以后用处较大的一个数据类型,这种数据类型可以存储按组分类的信息.好了,我不多说,开始讲了! 好了,现在我有个情景,我要存东汉时期(韩国,秦国,……)所 ...

  4. docker使用flannel网络

    基础环境我们使用了两台centos 7系统 基础配置为: 两台机器IP为 172.17.3.10 172.17.3.62 hosts文件配置为 172.17.3.10 node1 172.17.3.6 ...

  5. 查询Oracle版本

    服务器端 Oracle: 1)select* from v$version; 2)select * from product_component_version; 3)set serveroutput ...

  6. [phvia/dkc] Docker Compose 快速构建(LNMP+Node)运行环境

    快速构建(LNMP+Node)运行环境. dkc 在此作为 docker-compose 的缩写,你可以理解为 alias dkc=docker-compose 准备 安装 docker 选择1) 从 ...

  7. tensorflow models api:ValueError: Tensor conversion requested dtype string for Tensor with dtype float32: 'Tensor("arg0:0", shape=(), dtype=float32, device=/device:CPU:0)'

    tensorflow models api:ValueError: Tensor conversion requested dtype string for Tensor with dtype flo ...

  8. SSM商城项目(十一)

    1.   学习计划 1.sso注册功能实现 2.sso登录功能实现 3.通过token获得用户信息 Ajax跨域请求(jsonp) 2.   Sso系统工程搭建 需要创建一个sso服务工程,可以参考e ...

  9. react 路由之react-router-dom

    1安装react-router-dom npm install react-router-dom --save-dev //这里可以使用cnpm代替npm命令 1 新建router文件 //引入 re ...

  10. Redis和Memchaed缓存数据查询

    使用TreeNMS数据库管理工具 支持Redis和Memchaed并存同时管理维护,支持集群管理,减少运维成本,提高工作效率 自带环境,免安装.免布署,下载解压即可使用.适用于windows,Linu ...