2015-03-04 4 views
1

У меня есть два набора данных, которые мне нужно сопоставить в Python. Один массив - это .mat-файл, а другой - список .bin-файлов. Из этих наборов данных я создал две 3D-массивы в той же степени (120x112x244). Когда я был знаком с Python, я раньше не работал с такими наборами данных, и поэтому я прошу совета относительно того, как соотнести эти массивы. Я попытался NumPy коррелируют и получил: «ValueError: объект слишком глубоко для желаемого массива»Корреляция двух 3D-массивов в Python

Любые предложения будут высоко оценили

+0

Вы не должны заменять свой вопрос другим, когда он был дан ответ. Другие люди могут прочитать его перед чтением ответа. Вы можете принять ответ, чтобы закрыть вопрос. –

ответ

4

Одна идея, которую я бы попытаться это выравнивать 3D матрицу, а затем использовать coorelate - поскольку coorelate принимает только 1D векторов.

http://docs.scipy.org/doc/numpy/reference/generated/numpy.correlate.html.

Предположим, что ваши две матрицы называются A и B.

>>> import numpy 
>>> array_a = numpy.ndarray.flatten(A) 
>>> array_b = numpy.ndarray.flatten(B) 
>>> results = numpy.correlate(array_a, array_b) 
Смежные вопросы