假设我有一个100x100x100x100的numpy阵列。我正在尝试将此数组的np.correlate
应用于其自身,但仅应用于其中一个轴,比如轴1.在理想世界中,这将类似于
print(a.shape) # (100,100,100,100)
correlated = np.correlate(a, a, "full", axis=1)
print(correlated.shape) # (100,199,100,100)
基本上与np.fft
的行为相同,但具有相关性。我可以迭代所有其他维度,然后计算每一步的相关性,但这些数组可能会变得很大,而且会变得很慢。
这样做的Numpy方式更快吗?我尝试使用apply_over_axes
,但显然这是不可能的。而且,apply_over_axes
,vectorize
等只是引擎盖下的python循环,所以我想这无论如何都不会有太大的优势。