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 ...
随机推荐
- Apache Flink 在汽车之家的应用与实践
简介: 汽车之家如何基于 Flink 上线了 AutoStream 平台并持续打磨. 本文整理自汽车之家实时计算平台负责人邸星星在 Flink Forward Asia 2020 分享的议题< ...
- 技术干货|基于Apache Hudi 的CDC数据入湖「内附干货PPT下载渠道」
简介: 阿里云技术专家李少锋(风泽)在Apache Hudi 与 Apache Pulsar 联合 Meetup 杭州站上的演讲整理稿件,本议题将介绍典型 CDC 入湖场景,以及如何使用 Pulsa ...
- [MySQL] 原生全文检索 fulltext 的简单应用
在目标字段上添加全文检索:alter table 表名 add fulltext(字段) with parser ngram 查询语句:select * from xxx where match(字段 ...
- [Cloud] From Borg to Kubernetes
Borg System Architect: Kubernetes System Architect: Link:https://www.cnblogs.com/farwish/p/12751861. ...
- Ubuntu 20.04版本安装k8s控制节点与控制节点升级
一.环境配置 服务器配置:2核4G IP:192.168.10.23 主机名:master4将改主机加入此 集群 # 1.修改主机名 hostnamectl set-hostname master4 ...
- 2024-04-27:用go语言,在一个下标从 1 开始的 8 x 8 棋盘上,有三个棋子,分别是白色车、白色象和黑色皇后。 给定这三个棋子的位置,请计算出要捕获黑色皇后所需的最少移动次数。 需要注意
2024-04-27:用go语言,在一个下标从 1 开始的 8 x 8 棋盘上,有三个棋子,分别是白色车.白色象和黑色皇后. 给定这三个棋子的位置,请计算出要捕获黑色皇后所需的最少移动次数. 需要注意 ...
- 函数编程:强大的 Stream API
函数编程:强大的 Stream API 每博一文案 只要有人的地方,世界就不会是冰冷的,我们可以平凡,但绝对不可以平庸. ------ <平凡的世界> 人活着,就得随时准备经受磨难.他已经 ...
- 【爬虫实战】用python爬今日头条热榜TOP50榜单!
目录 一.爬取目标 二.爬取结果 三.代码讲解 四.技术总结 五.演示视频 六.附完整源码 一.爬取目标 您好!我是@马哥python说,一名10年程序猿. 今天分享一期爬虫案例,爬取的目标是:今日头 ...
- 关于sql server导出csv格式文件的身份证号乱码问题处理办法
1.使用SQL Server数据库经常会遇到导出大量数据的情况,例如导出40万条数据,虽然EXCL支持可以放入百万的数据,但是使用数据库复制,粘贴到EXCL表格时,数据库会提示溢出的情况,如下图所示: ...
- fastposter v2.9.2 最简海报生成器
fastposter v2.9.2 程序员必备海报生成器 fastposter海报生成器是一款快速开发海报的工具.只需上传一张背景图,在对应的位置放上组件(文字.图片.二维.头像)即可生成海报. 点击 ...