NumPy 差分、最小公倍数、最大公约数、三角函数详解

简介: NumPy 差分离散差分意味着相邻元素之间的减法。例如,对于 [1, 2, 3, 4],离散差分将是 [2-1, 3-2, 4-3] = [1, 1, 1]要找到离散差分,使用 diff() 函数。

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=525-15=105-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=525-15=105-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=126*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=186*3=189*2=18)。

示例

找到包含从 110 的所有整数的数组中所有值的最小公倍数:

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=29/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)

作者:小万哥丶

链接:https://juejin.cn/post/7381396887188488231

相关文章
|
Python
NumPy 差分、最小公倍数、最大公约数、三角函数详解
NumPy 助你处理数学问题:计算序列的差分用`np.diff()`,示例返回`[5, 10, -20]`;找最小公倍数(LCM)用`np.lcm()`,数组示例返回`18`;最大公约数(GCD)用`np.gcd.reduce()`,数组示例返回`4`;三角函数如`np.sin()`,`np.deg2rad()`用于角度弧度转换。别忘了`np.arcsin()`等反三角函数,以及`np.hypot()`求斜边长度。学习NumPy,科学计算更轻松!
203 2
|
1月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
284 0
|
1月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
129 0
|
3月前
|
机器学习/深度学习 API 异构计算
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
JAX是Google开发的高性能数值计算库,旨在解决NumPy在现代计算需求下的局限性。它不仅兼容NumPy的API,还引入了自动微分、GPU/TPU加速和即时编译(JIT)等关键功能,显著提升了计算效率。JAX适用于机器学习、科学模拟等需要大规模计算和梯度优化的场景,为Python在高性能计算领域开辟了新路径。
326 0
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
|
3月前
|
存储 数据采集 数据处理
Pandas与NumPy:Python数据处理的双剑合璧
Pandas与NumPy是Python数据科学的核心工具。NumPy以高效的多维数组支持数值计算,适用于大规模矩阵运算;Pandas则提供灵活的DataFrame结构,擅长处理表格型数据与缺失值。二者在性能与功能上各具优势,协同构建现代数据分析的技术基石。
316 0
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
319 1
|
机器学习/深度学习 数据处理 计算机视觉
NumPy实践宝典:Python高手教你如何轻松玩转数据处理!
【8月更文挑战第22天】NumPy是Python科学计算的核心库,专长于大型数组与矩阵运算,并提供了丰富的数学函数。首先需安装NumPy (`pip install numpy`)。之后可通过创建数组、索引与切片、执行数学与逻辑运算、变换数组形状及类型、计算统计量和进行矩阵运算等操作来实践学习。NumPy的应用范围广泛,从基础的数据处理到图像处理都能胜任,是数据科学领域的必备工具。
175 0
|
机器学习/深度学习 算法 数据可视化
8种数值变量的特征工程技术:利用Sklearn、Numpy和Python将数值转化为预测模型的有效特征
特征工程是机器学习流程中的关键步骤,通过将原始数据转换为更具意义的特征,增强模型对数据关系的理解能力。本文重点介绍处理数值变量的高级特征工程技术,包括归一化、多项式特征、FunctionTransformer、KBinsDiscretizer、对数变换、PowerTransformer、QuantileTransformer和PCA,旨在提升模型性能。这些技术能够揭示数据中的潜在模式、优化变量表示,并应对数据分布和内在特性带来的挑战,从而提高模型的稳健性和泛化能力。每种技术都有其独特优势,适用于不同类型的数据和问题。通过实验和验证选择最适合的变换方法至关重要。
453 6
8种数值变量的特征工程技术:利用Sklearn、Numpy和Python将数值转化为预测模型的有效特征
|
存储 数据处理 Python
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第27天】在科学计算和数据分析领域,Python凭借简洁的语法和强大的库支持广受欢迎。NumPy和SciPy作为Python科学计算的两大基石,提供了高效的数据处理和分析工具。NumPy的核心功能是N维数组对象(ndarray),支持高效的大型数据集操作;SciPy则在此基础上提供了线性代数、信号处理、优化和统计分析等多种科学计算工具。结合使用NumPy和SciPy,可以显著提升数据处理和分析的效率,使Python成为科学计算和数据分析的首选语言。
296 3
|
存储 机器学习/深度学习 算法
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第26天】NumPy和SciPy是Python科学计算领域的两大核心库。NumPy提供高效的多维数组对象和丰富的数学函数,而SciPy则在此基础上提供了更多高级的科学计算功能,如数值积分、优化和统计等。两者结合使Python在科学计算中具有极高的效率和广泛的应用。
404 2

热门文章

最新文章