NumPy 差分、最小公倍数、最大公约数、三角函数详解
NumPy 差分
离散差分意味着相邻元素之间的减法。
例如,对于 [1, 2, 3, 4],离散差分将是 [2-1, 3-2, 4-3] = [1, 1, 1]
要找到离散差分,使用 diff() 函数。
示例:
import numpy as np
arr = np.array([10, 15, 25, 5])
newarr = np.diff(arr)
print(newarr)
返回:[5 10 -20],因为 15-10=5,25-15=10,5-25=-20
我们可以通过给出参数 n 来重复执行此操作。
例如,对于 [1, 2, 3, 4],n = 2 时,离散差分将是 [2-1, 3-2, 4-3] = [1, 1, 1],然后,由于 n=2,我们将再次执行一次,得到新结果:[1-1, 1-1] = [0, 0]
示例
对以下数组进行两次离散差分:
import numpy as np
arr = np.array([10, 15, 25, 5])
newarr = np.diff(arr, n=2)
print(newarr)
返回:[5 -30],因为:15-10=5,25-15=10,5-25=-20,而 10-5=5 和 -20-10=-30
NumPy 最小公倍数(LCM)
最小公倍数是两个数的最小公倍数。
示例:
import numpy as np
num1 = 4
num2 = 6
x = np.lcm(num1, num2)
print(x)
返回:12,因为这是这两个数的最小公倍数(4*3=12 和 6*2=12)。
在数组中找到最小公倍数
要找到数组中所有值的最小公倍数,可以使用 reduce() 方法。
reduce() 方法将对每个元素使用 ufunc,在本例中是 lcm() 函数,并将数组减少一个维度。
示例
找到以下数组值的最小公倍数:
import numpy as np
arr = np.array([3, 6, 9])
x = np.lcm.reduce(arr)
print(x)
返回:18,因为这是所有三个数的最小公倍数(3*6=18,6*3=18 和 9*2=18)。
示例
找到包含从 1 到 10 的所有整数的数组中所有值的最小公倍数:
import numpy as np
arr = np.arange(1, 11)
x = np.lcm.reduce(arr)
print(x)
NumPy 最大公约数(GCD)
最大公约数(GCD,也称为 HCF,即最高公因数)是两个数的最大公共因数。
示例:
import numpy as np
num1 = 6
num2 = 9
x = np.gcd(num1, num2)
print(x)
返回:3,因为这是两个数都可以被整除的最大数(6/3=2 和 9/3=3)。
在数组中找到最大公约数
要找到数组中所有值的最大公约数,可以使用 reduce() 方法。
reduce() 方法将对每个元素使用 ufunc,在本例中是 gcd() 函数,并将数组减少一个维度。
示例
找到以下数组中所有数字的最大公约数:
import numpy as np
arr = np.array([20, 8, 32, 36, 16])
x = np.gcd.reduce(arr)
print(x)
返回:4,因为这是所有值都可以被整除的最大数。
NumPy 三角函数
NumPy 提供了 sin()、cos() 和 tan() 等 ufunc,它们接受弧度值并生成相应的正弦、余弦和正切值。
示例:
import numpy as np
x = np.sin(np.pi/2)
print(x)
示例
找到数组 arr 中所有值的正弦值:
import numpy as np
arr = np.array([np.pi/2, np.pi/3, np.pi/4, np.pi/5])
x = np.sin(arr)
print(x)
将角度转换为弧度
默认情况下,所有的三角函数都接受弧度作为参数,但是在 NumPy 中我们也可以将弧度和角度相互转换。
注意:弧度值是 pi/180 乘以角度值。
示例
将以下数组 arr 中的所有值转换为弧度:
import numpy as np
arr = np.array([90, 180, 270, 360])
x = np.deg2rad(arr)
print(x)
将弧度转换为角度
示例
将以下数组 arr 中的所有值转换为角度:
import numpy as np
arr = np.array([np.pi/2, np.pi, 1.5*np.pi, 2*np.pi])
x = np.rad2deg(arr)
print(x)
查找角度
从正弦、余弦、正切值查找角度。例如,sin、cos 和 tan 的反函数(arcsin、arccos、arctan)。
NumPy 提供了 arcsin()、arccos() 和 arctan() 等 ufunc,它们给出相应 sin、cos 和 tan 值的弧度值。
示例
找到 1.0 的角度:
import numpy as np
x = np.arcsin(1.0)
print(x)
数组中每个值的角度
示例
找到数组中所有正弦值的角度:
import numpy as np
arr = np.array([1, -1, 0.1])
x = np.arcsin(arr)
print(x)
斜边
在 NumPy 中使用勾股定理找到斜边。
NumPy 提供了 hypot() 函数,它接受底边和垂直边的值,并根据勾股定理生成斜边。
示例
找到底边为 4,垂直边为 3 的斜边:
import numpy as np
base = 3
perp = 4
x = np.hypot(base, perp)
print(x)
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注
NumPy 差分、最小公倍数、最大公约数、三角函数详解的更多相关文章
- Numpy数组的组合与分割详解
在介绍数组的组合和分割前,我们需要先了解数组的维(ndim)和轴(axis)概念. 如果数组的元素是数组,即数组嵌套数组,我们就称其为多维数组.几层嵌套就称几维.比如形状为(a,b)的二维数组就可以看 ...
- 【python】详解numpy库与pandas库axis=0,axis= 1轴的用法
对数据进行操作时,经常需要在横轴方向或者数轴方向对数据进行操作,这时需要设定参数axis的值: axis = 0 代表对横轴操作,也就是第0轴: axis = 1 代表对纵轴操作,也就是第1轴: nu ...
- numpy的文件存储.npy .npz 文件详解
Numpy能够读写磁盘上的文本数据或二进制数据. 将数组以二进制格式保存到磁盘 np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 ...
- [poj 3159]Candies[差分约束详解][朴素的考虑法]
题意 编号为 1..N 的人, 每人有一个数; 需要满足 dj - di <= c 求1号的数与N号的数的最大差值.(略坑: 1 一定要比 N 大的...difference...不是" ...
- numpy模块(详解)
重点 索引和切片 级联 聚合操作 统计操作 矩阵 什么是数据分析 是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律 数据分析是用适当的方法对收集来的大量数据进行分析,帮助 ...
- 扩展欧几里得(exgcd)与同余详解
exgcd入门以及同余基础 gcd,欧几里得的智慧结晶,信息竞赛的重要算法,数论的...(编不下去了 讲exgcd之前,我们先普及一下同余的性质: 若,那么 若,,且p1,p2互质, 有了这三个式子, ...
- SILC超像素分割算法详解(附Python代码)
SILC算法详解 一.原理介绍 SLIC算法是simple linear iterative cluster的简称,该算法用来生成超像素(superpixel) 算法步骤: 已知一副图像大小M*N,可 ...
- 人脸验证算法Joint Bayesian详解及实现(Python版)
人脸验证算法Joint Bayesian详解及实现(Python版) Tags: JointBayesian DeepLearning Python 本博客仅为作者记录笔记之用,不免有很多细节不对之处 ...
- Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt
PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...
- SIFT算法详解(转)
http://blog.csdn.net/zddblog/article/details/7521424 目录(?)[-] 尺度不变特征变换匹配算法详解 Scale Invariant Feature ...
随机推荐
- [Unreal] 虚拟现实理论与最佳实践
优秀的虚拟现实场景所需要具备的特点: 真实感.沉浸感.舒适性.流畅性. VR的这些特点上有其它媒体所不具备的优势,主要通过硬件来实现. VR 的沉浸感让用户置身于周围世界,也引发了一些独特的症状: 眼 ...
- [FE] WebStorm, ESLint: Trailing spaces not allowed
在 WebStorm 中搜索文件 .eslintrc.js 在里面的 rules 项中追加规则: 'no-trailing-spaces' : ['off', { 'skipBlankLines': ...
- dotnet 修复 Uno 中文乱码
这是一个历史问题,在使用 Uno 展示中文的时候,如果设置 Uno 的底层使用 Skia 系进行渲染,那么将会因为中文字体问题,导致渲染出现乱码.此问题已被我修复,最佳解法是更新到最新版本 在上一篇博 ...
- WPF 调试依赖属性变更方法
本文告诉大家如何调试 WPF 的某个依赖属性被变更的方法 在 WPF 里面,所有的依赖属性都有带通知的功能,通过带通知的功能,可以在通知里加上断点,通过调用堆栈了解是哪个模块调用的 对依赖属性添加通知 ...
- Codeforces Round 934 2D/1B
Link 场上思路出的最快的一题,但没调出来. 反着考虑全为回文串需满足哪些情况. 若 \(k = 1\),没有限制条件. 若 \(k = 2\),对于任意三个位置 _ _ _,先填 \(x\) \( ...
- C++指针与引用(Pointers OR References)
一.Pointers Pointer是指针,可以用来指向任何一个objects,包括一般变量: 1 int i = 3; 2 int * pi = &i; 3 cout << pi ...
- nim 9. 遍历文件夹
import std/[os, sugar] const fs = collect(for k in walkDir(r"d:\temp"): k.path) echo fs 文件 ...
- Js使用面向对象和面向过程的方法实现拖拽物体的效果
1.面向过程的拖拽实现代码: <!DOCTYPE html> <html> <head> <title>drag Div</title> & ...
- JDK源码阅读-------自学笔记(十)(java.lang.Integer包装类初探)
自动装箱和拆箱 JDK1.5后,Java引入了自动装箱(autoboxing)/拆箱(unboxing) 自动装箱 基本数据类型在需要时自动转化为对象 自动装箱 对象在需要时自动转化为基本数据类型 注 ...
- jquery加载页面时触发事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...