将numpy的相关性应用于特定轴(自相关)

时间:2017-01-31 04:53:09

标签: python arrays numpy

假设我有一个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_axesvectorize等只是引擎盖下的python循环,所以我想这无论如何都不会有太大的优势。

0 个答案:

没有答案