【发布时间】:2015-10-04 07:30:11
【问题描述】:
我想在 python 中生成一个 2×N 数组,用于scipy.optimize.curve_fit。
我有一个将两个独立变量存储为一维数组的函数,以及一个二维数组中的数据。 curve_fit 要求将数据展平,使用 data.ravel() 很容易。
但是,这是我用来生成 2xN 纵坐标值数组的技巧:
ordinate = np.array([[l,t] for l in length for t in time]).T
有效,但速度很慢。 (矢量化?)更快的方法是什么?
【问题讨论】:
-
pv 写了一个numpy cartesian product implementation。这样你就可以使用
ordinate = cartesian([length, time])。
标签: python arrays performance numpy vectorization