geekdoc-python-zh/docs/askpython/numpy-log10.md

5.0 KiB
Raw Permalink Blame History

numpy log10返回输入数组以 10 为底的对数,按元素排序。

原文:https://www.askpython.com/python-modules/numpy/numpy-log10

在本文中,我们将解决一个简单的问题“如何获得一个输入数组的以 10 为底的对数,以元素为单位”。我们将获得数组中元素的以 10 为底的对数值。通过分析下面的例子,你可以更好地理解。

让我们假设一个数组input[2.3500.3615.69100010]——我们需要以新数组的形式获得这个数组的每个元素对应的对数值,如[ 0.37106786 -inf -0.4436975 0。0.75511227 3.1.] .

  • log [10] (2.35) = 0.37106786
  • log [10] (0) = -inf
  • log [10] (0.36) = -0.4436975
  • log [10] (1) = 0.0
  • log [10] (5.69) = 0.75511227
  • log [10] (1000) = 3.0
  • log [10] (10) = 1.0

在进入我们的代码片段之前,让我们快速看一下下面!

理解数字对数方法

Python NumPy 库为不同的数学运算提供了一些内置方法。其中, Numpy.log() 是对数组进行对数运算最常用的函数之一。这个方法为我们的输入数组*(因为我们使用了 NumPy 模块)*中的所有元素返回各自的对数值、基数 e = 2.71。

Numpy 还提供了执行以 10 为底的对数(NumPy.log10())和以 2 为底的对数(NumPy.log2())运算的单独方法.今天,我们将在今天的代码片段中学习如何实现Numpy.log10()方法。

定义域 Numpy 对数函数位于正实数集合和实数集合中的范围之间。让我们快速浏览一下下面的内容,以理解我们函数的语法。

Numpy.log10()的语法

#syntax for log base 10
numpy.log10(x, out=None, where=True, casting='same_kind', order='K', subok : [bool, datatype])

#syntax for log base2
numpy.log2(x, out=None, where=True, casting='same_kind', order='K', subok : [bool, datatype])

上述代码片段中使用的参数如下:

  • x: 它可以是包含弧度值的变量,也可以是包含某个值的数组
  • out: 存储结果的位置。如果提供了,它必须具有与输入 x 相似的形状。如果没有提供或没有提供,则返回新的值或结果。这是可选的。
  • 当条件为真时我们必须得到我们的结果或输出当条件为假时我们将得不到任何结果。这是可选的。y 默认其值为真。
  • casting='same_kind': 表示只允许 float64 到 float32 的值或结果。该函数在此范围或数据类型中呼喊 cast 值。
  • order = 'K': 它总是以 K 排序的形式产生一个输出数组。(注意:有四种类型的订单:{KCFA})。这是可选的。
  • subok:【booldatatype】是否生成结果的子类。如果为真,则提供子类的名称。它返回一个与给定数组具有相同形状和类型的数组。也是可选的。

使用 Numpy.log10()方法

现在,我们将依次进入代码片段,让您解释如何实现我们的方法。今天我们将使用我们的 google collab 进行编码。你们一定知道 google collab 也提供了最好的 python 平台。不要迟到。让我们开始吧。

步骤 1:导入数字

在这一步,我们将把使用NumPy.log10()功能的Numpy模块导入到我们的计算机中。如果不导入它们的依赖项即“Numpy 模块”,我们就无法实现任何 NumPy 方法。

import numpy

步骤 2:创建数组以获取对数值

在这一步中,我们将创建一个包含要获取对数值的数组。

y = numpy.array([2.35, 0, 0.36, 1, 5.69, 1000, 10])

如果用户需要手动向数组中输入值。他/她可以遵循下面的代码片段。

# creating  x array
x = []
n = int(input("Enter the number of values you want to enter : "))
for i in range(0, n):
    value = int(input())
    x.append(value) 

执行上面的代码片段将让用户输入他想要连接的值的数量。接下来,用户可以将单个值输入数组,如下所示。

 Enter the number of values you want to enter : 3
1
2
3
[1, 2, 3]

步骤 3:实现 Numpy.log10()方法

在这一步中,我们将如下实现我们的函数,并传递在步骤 2 中创建的两个数组。

a = numpy.log10(y)
b = numpy.log10(x)

步骤 4:获取输出并进行分析

在这最后一步,我们将打印分别加载到变量 a 和 b 中的输出。

print(a)
print(b)

#output
 [ 0.37106786        -inf -0.4436975   0\.          0.75511227  3\.    1\.        ]
 [0\.         0.30103    0.47712125]

您可以看到,该函数返回一个数组,其中包含输入数组中所有元素各自的对数值。这样,Numpy.log10()方法就成功实现了。

结论

今天,我们学习了如何使用 numpy.log10()方法获得一个以 10 为底的值的对数。我们尝试用两个数组作为例子来帮助更好地理解这个概念。如果你有兴趣了解更多关于 numpy 的知识,别忘了看看我们的 Numpy 教程列表。