gpt4 book ai didi

Python - 如何将列表转换为日志(列表)

转载 作者:太空宇宙 更新时间:2023-11-03 14:02:27 25 4
gpt4 key购买 nike

我有一个值列表,想将其转换为该列表的日志或将列表的日志传递给函数。我对 R 比较熟悉,你通常可以在任何东西周围加上一些 () 。当我在 Python 中尝试这样做时,出现错误:

TypeError: must be real number, not list

列表如下所示:

pressures[:5]
Out[11]: [1009.58, 1009.58, 1009.55, 1009.58, 1009.65]

我尝试获取日志的位置并不重要,我得到了同样的错误...在一个函数中:

plt.plot(timestamps, log(pressures))
plt.xlabel('Timestamps')
plt.ylabel('Air Pressure')
plt.show()

解析数据时:

pressures = log([record['air_pressure'] for record in data])

最佳答案

有几种方法可以解决这个问题。 Python 在 math 模块中有一些基本的内置函数。一个是 log。它接受一个 float 或一个整数作为参数并输出一个 float :

> from math import log
> log(20)
2.995732273553991

要使用此函数处理列表,您需要对列表中的每个项目调用它:

> data = [1, 2, 3]
> [log(x) for x in data]
[0.0, 0.6931471805599453, 1.0986122886681098]

另一方面,我提到这一点是因为看起来您已经在使用一些相关的库,numpy 可以一次处理整个列表。

> import numpy as np
> np.log([1, 2, 3])
array([ 0. , 0.69314718, 1.09861229]) # Notice this is a numpy array

如果你想使用 numpy 并返回一个列表,你可以这样做:

> list(np.log([1, 2, 3]))
[0.0, 0.69314718055994529, 1.0986122886681098]

关于Python - 如何将列表转换为日志(列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47582264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com