Reputation: 1191
I have an array of arrays:
x = [np.array([np.linspace(3000,7000, 1000.0)]), np.array([np.linspace(4000,8000, 1000.0)]), np.array([ np.linspace(2000,9000, 1000.0)])]
y = [np.array([np.linspace(10,200, 1000.0)]), np.array([np.linspace(20,200, 1000.0)]), np.array([np.linspace(30,200, 1000.0)]]
Such that for part in my x arrays between 6520 and 6620
xgrid=np.linspace(6520,6620, 1000.0)
I want to interpolate
ygrid= np.interp(np.array(xgrid), x, y)
I do not know how to adjust my code to correct for error (ValueError: setting an array element with a sequence)
Upvotes: 0
Views: 135
Reputation: 1146
I get a different error when I apply your code, so I'll clean up some part:
x = np.asarray([np.linspace(3000, 7000, 1000.0), np.linspace(4000, 8000, 1000.0), np.linspace(2000, 9000, 1000.0)])
y = np.asarray([np.linspace(10, 200, 1000.0), np.linspace(20, 200, 1000.0), np.linspace(30, 200, 1000.0)])
xgrid = np.linspace(6520,6620, 1000.0)
since numpy.interp only accepts 1D objects:
ygrid = np.array([np.interp(xgrid, i, j) for i, j in zip(x, y)])
Upvotes: 1