我有一个二维 numpy 数组,其中包含一个绘图的 x (data[:,0]) 和 y(data[:,1]) 信息。
我想为数据拟合曲线,但仅使用数据的某些部分来确定拟合参数(例如,使用 x = x1 -> x2 和 x3 -> x4 范围内的数据)。我的计划是创建一个新的 numpy 数组,其中仅包含我打算传递给 SciPy CurveFitting 例程的数据。
index_range1 = np.where((data[:,0] > x1) and (data[:,0] < x2)
index_range2 = np.where((data[:,0] > x3) and (data[:,0] < x4)
然后我会使用这些索引范围将感兴趣的数据拉入一个新数组,我可以将它传递给 CurveFit。
首先,鉴于 Python 可以处理复杂的数组,这似乎是一种非常不符合 Python 的方法。其次,在运行我的脚本时,我收到一条错误消息,提示我需要在 index_range 1 和 2 的表达式中使用 .any() 或 .all()。
因此,我想知道是否有人对解决此问题的改进、更 Python 的方法有任何建议。
谢谢!