#python #arrays #list #numpy #add
Вопрос:
Если у меня есть массив, например: a = np.массив([[1,2], [2,5], [4,8]]), где первая цифра представляет значение x, а вторая-значение y, как я могу добавить все первые цифры (значения x) и все вторые цифры (значения y). Результат должен выглядеть примерно так: 7, 15 Спасибо!
Комментарии:
1. что ты пробовал?
Ответ №1:
Вы можете использовать numpy sum() для оси строк (ось = 0). Это суммирует значения в одном и том же месте каждой строки или, другими словами, суммирует значения в одном и том же столбце.
import numpy as np a = np.array([[1,2], [2,5], [4,8]]) print(np.sum(a,axis=0))
Ответ №2:
x, y = a[:,0].sum(), a[:,1].sum()
Ответ №3:
Используйте встроенные модули numpy
np.sum(a,axis=0)
Ответ №4:
a = np.array([[1,2], [2,5], [4,8]]) x = 0 y = 0 for element in a: x = element[0] y = element[1] print("x: " str(x)) print("y: " str(y))
Выход:
gt;gt; x: 7 gt;gt; y: 15
Получите доступ к каждому элементу массива, а затем для каждого элемента возьмите первый элемент как x
и второй как y
Комментарии:
1. Это очень дорогой способ использования ndarray. Numpy оптимизирует операции. Здесь вам нужно преобразовать numpy
int64
в pythonint
и выполнить вызов функции уровня python и сумму для каждого элемента. С помощью встроенного .sum это преобразование не требуется.