#python #numpy-ndarray
#python #numpy-ndarray
Вопрос:
Я хочу добавить значения из одного массива в другой массив после выполнения некоторых вычислений, здесь я сделал это с помощью цикла for, но мне нужен эффективный способ сделать это. Пожалуйста, помогите мне .. спасибо
from numpy import *
arr = array([1,2,3,4,5])
arr1 = []
for i in arr:
arr1.append(i 5)
print(arr1)
nArray = array(arr1)
print(nArray)
Вывод :
[6, 7, 8, 9, 10]
[ 6 7 8 9 10]
Комментарии:
1. Просто сделайте
arr1 = arr 5
. Numpy broadcasting позаботится обо всем остальном.2. Спасибо Гилад Грин
Ответ №1:
Вы должны были просто сделать:
nArray = arr 5
Ответ №2:
Вы могли бы использовать map
встроенную функцию из Python, она принимает функцию и итерацию в качестве входных данных и возвращает что-то, что вы можете передать list
функции, например:
list(map(lambda x: x 5, arr))
Но это было бы для встроенного python list
Однако, поскольку вы используете numpy, вы можете просто добавить 5 в массив numpy arr1 = arr 5
, как это было предложено fountainhead
Комментарии:
1. Удалите первую часть. Это правильно, но неэффективно для numpy.
2. Спасибо Томасу Сент