Есть ли способ для векторизации функции, чтобы выход был массивом значений, где каждое среднее означает среднее значений из 0-индекса входного массива? Цикл это довольно просто, но я стараюсь быть максимально эффективным. например 0 = среднее значение (0), 1 = среднее (0-1), N = среднее (0-N)векторизовать среднее число на срезах массива
1
A
ответ
3
Предполагаемая операция может быть придумана как cumulative averaging
. Таким образом, очевидное решение будет включать cumulative summation
и деление этих суммирования на число элементов, участвующих в каждом таком суммировании. Таким образом, векторизация реализация предполагает np.cumsum
и последующим делением на количество участвующих элементов, которые могут быть получены с np.arange
и обобщенным для ndarray, как так -
def cummean(A,axis):
""" Cumulative averaging
Parameters
----------
A : input ndarray
axis : axis along which operation is to be performed
Output
------
Output : Cumulative averages along the specified axis of input ndarray
"""
return np.true_divide(A.cumsum(axis),np.arange(1,A.shape[axis]+1))
2
Если вы можете использовать pandas
есть expanding_mean
который будет работать непосредственно с массивом NumPy:
In [10]: pandas.expanding_mean(np.arange(1, 11))
Out[10]: array([ 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. , 5.5])
Этот метод также работает столбцы:
In [11]: A = np.array([[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]).T
In [12]: A
Out[12]:
array([[ 1, 1],
[ 2, 1],
[ 3, 1],
[ 4, 1],
[ 5, 1],
[ 6, 1],
[ 7, 1],
[ 8, 1],
[ 9, 1],
[10, 1]])
In [13]: pandas.expanding_mean(A)
Out[13]:
array([[ 1. , 1. ],
[ 1.5, 1. ],
[ 2. , 1. ],
[ 2.5, 1. ],
[ 3. , 1. ],
[ 3.5, 1. ],
[ 4. , 1. ],
[ 4.5, 1. ],
[ 5. , 1. ],
[ 5.5, 1. ]])
Смежные вопросы
- 1. Среднее число столбцов двумерный массива с array.map()
- 2. Векторизовать расширение массива numpy
- 3. Среднее число
- 4. d2: назначая диапазоны/итераторы срезах массива
- 5. Среднее число столбцов
- 6. векторизовать NumPy тройное произведение на 2D массива
- 7. Найти среднее число
- 8. Найти среднее число
- 9. PHP - Получить среднее число
- 10. python excel найти среднее положительное число и среднее отрицательное число
- 11. Получить среднее число чисел
- 12. Рассчитать среднее число пользователей
- 13. среднее массива из массива
- 14. Среднее число трех чисел
- 15. Среднее число плавающих чисел Сборка
- 16. операции Bitmask на срезах Python ByteArray,
- 17. Среднее число генерирует отрицательное десятичное число
- 18. Среднее число Чтение в среднем
- 19. Найти среднее. самое большое, наименьшее число и режим массива int
- 20. Байт массива на число
- 21. Найти среднее число String Array
- 22. Вычислить среднее число в Java
- 23. Принимая среднее число кадра данных
- 24. среднее число оборванных двумерных двумерных массивов
- 25. Среднее число из входного файла
- 26. среднее число повторяющихся паттернов с Numpy
- 27. Обработать невыровненную часть двойного массива, векторизовать остальные
- 28. Найти среднее число, используя MapReduce
- 29. найти среднее число в C
- 30. Вычислить среднее число вложенных клеток
Что такое «0-индекс» массива в этом контексте? – HeinzKurt
начало массива – Seth
Любопытно, если одно из решений, размещенных здесь, работает для вас? – Divakar