根据自定义功能的bin宽度

时间:2013-03-04 08:37:29

标签: python numpy matplotlib

我想以不统一的方式收集数据。

import numpy as np
import matplotlib.pyplot as plt

def fun(x):
  return >some function of x<

我现在想要的是让某些看起来像:

np.linespace(0.,200.,fun(x))

有没有一种方便的方法来使用可以处理它的numpy函数? 我刚看到np.arangenp.linspace使用数字而不能将函数作为参数。

我可以编写一个可以处理它的函数,但原生解决方案会好得多。

1 个答案:

答案 0 :(得分:2)

创建一系列x值,定义自定义函数,然后在每个数组元素上调用函数。 Numpy让这很容易:

fun = lambda x: x**2 # Example function
N = 10 # Number of data points
x = np.linspace(0., 200., N) # Creates an array of N points
bins = fun(x) # Applies fun to all values in array x