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. SAP Solution Manager 能够连接到 SAP Service Marketplace

    使用 在该步骤中,您要确保 SAP Solution Manager 能够连接到 SAP Service Marketplace. 作业 SAP Support Portal(SAPOSS)的 RFC ...

  2. python-day2列表、元祖、字典;编码;字符串

    @导入模块时,会先搜索目前路径的同名py文件,再去全局环境变量找 @看模块的环境变量 import sys print(sys.path) @site-package存放第三方库,可以把自己建的拷贝在 ...

  3. FPGA笔试必会知识点2—FPGA器件

    FPGA 综合工具并不一定保证能够充分利用芯片结构特点以达到最优目的而且工具本身也不一定非常智能,因为设计本身是复杂多样的且一直在变化,问题总会越来越多,因此在这种情况下,我们必须了解我们的器件结构, ...

  4. JUnit4源码学习笔记

    先上一个在Spring-test下运行的调用栈 自底向上: JUnitStarter IDEA对JUnit的支持,调用JUnitCore.run(Runner),将注解@RunWith指定的Runne ...

  5. 如何创建数据库以及MySQL增删改查命令的简单运用

    在已经安装好MySQL的前提下 1.在Windows打开命令提示符窗口,输入命令启动MySQL命令行工具并登入root用户:mysql -h localhost -u root -p 2.输入密码后, ...

  6. P1348 Couple number

    题目描述 任何一个整数N都能表示成另外两个整数a和b的平方差吗?如果能,那么这个数N就叫做Couple number.你的工作就是判断一个数N是不是Couple number. 输入输出格式 输入格式 ...

  7. python之路:模块初识

    python王者开发之路:模块初识 模块初识我现在讲的确有点早.不过没关系,后面我会详细说模块. 模块,也就是库,是python三剑客之一.这三剑客,函数.库和类,都是由程序编写而成的.之所以我先说模 ...

  8. inpu控件接受pipe的处理结果

    input控件绑定的变量,要接受用户的输入值,一般只要使用   [(ngModel)]  就可以. 但是,pipe处理结果如何反映到变量里去呢?不知道吧?嘿嘿 这样就可以了 :  <input ...

  9. 超详细的遗传算法(Genetic Algorithm)解析

    https://blog.csdn.net/u010451580/article/details/51178225 https://www.jianshu.com/p/c82f09adee8f 00 ...

  10. Spring引入外部项目Junit 报ClassNotfound问题

    https://blog.csdn.net/sheng_Mu555/article/details/80465679 用它这个方法可以了 所以大家可以过去看一下哈哈