在Python中创建一个具有另一个数组中元素的对数值的新数组

Mat*_*ner 0 python numpy

嘿..我的python代码遇到了一些问题..我有一组频率和功率谱的值.我需要在对数刻度上绘制频率v/s功率谱.我试图将频率和功率谱的对数值存储在2个其他变量中,然后绘制它们.任何想法如何做到这一点?

std*_*err 5

假设您有一个值列表,您可以使用简单的列表理解:

frequencies = [1, 2, 3, 4, 5]
import math
logOfFrequencies = [ math.log(x) for x in frequencies ]
Run Code Online (Sandbox Code Playgroud)

要么

logOfFrequencies = map(math.log, frequencies)
Run Code Online (Sandbox Code Playgroud)

如果您有一个频繁的频率数组,因为您正在使用Matplotlib/Pylab来创建您的绘图,您可以改为:

import numpy
frequencies = numpy.arange(1, 5)
logOfFrequencies = numpy.log(frequencies)
Run Code Online (Sandbox Code Playgroud)