Как рассчитать взаимную корреляцию между двумя двумерными массивами numpy вдоль заданной осиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как рассчитать взаимную корреляцию между двумя двумерными массивами numpy вдоль заданной оси

Сообщение Anonymous »

В настоящее время функция scipy.signal.correlate SciPy поддерживает вычисление взаимной корреляции между двумя одномерными массивами. Однако прямой поддержки кросс-корреляции по осям между двумя двумерными массивами одинаковой формы не существует. Например, вычисление взаимной корреляции между каждой парой строк (или столбцов) в двух двумерных массивах в настоящее время требует реализации цикла for Python. Это ограничение становится неприятным при работе с большими наборами данных, поскольку циклы неэффективны в вычислительном отношении, а обходные пути могут быть неинтуитивными для многих пользователей.
Есть ли способ добавить параметр в scipy.signal .correlate (например, axis), который позволяет вычислять взаимную корреляцию по осям между двумя двумерными массивами, как показано в примере ниже
import numpy as np
from scipy.signal import correlate

# Two 2D arrays of the same shape
A = np.random.rand(1000, 100)
B = np.random.rand(1000, 100)

# Compute axis-wise cross-correlation along rows
result = correlate(A, B, axis=1, mode='full')


Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-a-given
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»