numpy 数组上的线性插值
我有以下 numpy 数组:
# A B C Y
my_arr = np.array([ [.20, .54, .26], # <0
[.22, .54, .24], # 1
[.19, .56, .25], # 2
[.19, .58, .23], # 3
[.17, .62, .21] ]) # 4+
如果用户输入 ay(例如 2.5),我应该输出三个值,一个代表 A、B 和 C:
在我的示例中 A: .19、B: .57、C: .24
更多示例:
Y A B C
0.2 .20 .54 .26
1.5 .215 .55 .245
4.0 .17 .62 .21
8.7 .17 .62 .21
用户将输入多个 y 值作为 numpy 数组。结果也应该是一个数组
我已经完成了一些代码,例如
#boundaries:
y[y < 0] = 0
y[y > 4] = 4
我还假设 scipy.ndimage / map_coordinates 最适合我的要求而不是 scipy.interpolate 但我可能是错的
I have the following numpy array:
# A B C Y
my_arr = np.array([ [.20, .54, .26], # <0
[.22, .54, .24], # 1
[.19, .56, .25], # 2
[.19, .58, .23], # 3
[.17, .62, .21] ]) # 4+
if a user enters a y (example, 2.5) I should out put three values, one for A, B, and C:
in my example A: .19, B: .57, C: .24
More Examples:
Y A B C
0.2 .20 .54 .26
1.5 .215 .55 .245
4.0 .17 .62 .21
8.7 .17 .62 .21
The user will enter a multiple of y values as a numpy array. the result should be an array as well
I've done bits and pieces of the code for example
#boundaries:
y[y < 0] = 0
y[y > 4] = 4
I'm also assuming that scipy.ndimage / map_coordinates will best fit my requirements rather than scipy.interpolate but I could be wrong
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 scipy.ndimage 可能有更好的方法,但以下是使用 scipy.interpolate.interp1d 的方法:
There might be a better way using scipy.ndimage, but here is how you could do it with scipy.interpolate.interp1d: