Numpy применить функцию к массиву - PullRequest
0 голосов
/ 04 марта 2019

Например, у меня есть функция:

f1 = lambda x: x % 2

Если я хочу изменить array = np.linspace(0, 5, 6), я могу сделать f1(array).Все работает как положено:

[0. 1. 0. 1. 0. 1.]

Если я изменю функцию на:

f2 = lambda x: 0
print(f2(array))

, то я получу 0, в то время как я ожидал [0. 0. 0. 0. 0. 0.].Как добиться согласованности?

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Чуть более явно, чем в предыдущем ответе:

import numpy as np
array = np.linspace(0, 5, 6)
f2 = lambda x: np.zeros_like(x)
print(f2(array))

Документация для numpy.zeros_like: возвращать массив нулей с той же формой и типом, что и у данного массива.

0 голосов
/ 04 марта 2019

Вы можете использовать приведенный ниже код для достижения желаемого результата

import numpy as np
array = np.linspace(0, 5, 6)
f2 = lambda x: x-x
print(f2(array))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...