- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
numpy.interp
很方便,也比较快。在某些情况下,我想将其输出与传播稀疏值的非插值变体(在“更密集”的输出中)进行比较,结果在稀疏输入之间是分段常数。我想要的函数也可以称为“稀疏 -> 密集”转换器,它复制最新的稀疏值,直到它找到一个后来的值(一种空插值,就好像零时间/距离已经从早期的值过去了)。
不幸的是,调整 numpy.interp
的源代码并不容易,因为它只是编译函数的包装器。我可以使用 Python 循环自己写这个,但希望找到一个 C 速度的方法来解决这个问题。
更新:下面的解决方案(scipy.interpolate.interp1d
with kind='zero'
)非常慢,需要超过 10每次通话的秒数(例如,输入 500k 的长度占 50%)。它使用零阶样条实现 kind='zero'
并且调用 spleval
非常慢。但是,kind='linear'
的源代码(即默认插值)提供了一个很好的模板来解决使用直接 numpy 的问题(最小的变化是设置 slope=0
).该代码显示了如何使用 numpy.searchsorted
来解决问题,运行时类似于调用 numpy.interp
,因此通过调整 scipy 解决了问题。 interpolate.interp1d
实现线性插值以跳过插值步骤(斜率!= 0 混合相邻值)。
最佳答案
scipy.interpolate.interp1d
可以进行各种插值:‘linear’、‘nearest’、‘zero’、‘slinear’、‘quadratic’、‘cubic’。
关于python - 如果我想要空插值(分段常数),numpy.interp 的最佳替代品是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12240634/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!