У меня нет вашего точного массива, но я попытался воспроизвести ваш код, чтобы вызвать ошибку:
from scipy.stats import median_absolute_deviation
import numpy as np
# mimicking your data with random numbers
temps = np.random.normal(0.0, 1.0, size=(992,2048))
# setting values of axis 1 to NaN
temps[:,1] = np.nan
print(temps.shape)
print(temps.ndim)
mad = median_absolute_deviation(temps, axis=1, nan_policy='omit')
med = np.median(temps, axis=1)
mean = np.mean(temps,axis=1)
С аргументом nan_policy='omit'
в median_absolute_deviation()
вы фактически просите функцию удалить все значения np.nan
из массива temps
.
Как я показал выше, если есть целый столбец с этими значениями, они удаляются вызовом nan_policy='omit'
, и поэтому массив temps
сводится к массиву размерности 1, и возникают ошибки, которые вы видите.