Как использовать np.arange, чтобы получить множество значений? - PullRequest
0 голосов
/ 11 марта 2019

Как получить значения в диапазоне 10**-4 to 10**4 (ie., 10**-4,10**-3,10**-2.... etc).

Мне нужны такие значения, как 10 ** - 4, затем 10 ** - 3, затем 10 ** - 2 и так далее до 10** 4

Я пробовал что-то вроде np.arange(10**-4, 10**-3), но это дает мне много цифр.

Любая помощь приветствуется?

Ответы [ 3 ]

2 голосов
/ 11 марта 2019

Не могли бы вы использовать это:

[10**i for i in range(-4,5) ]
1 голос
/ 11 марта 2019

Для этого есть встроенная функция NumPy, которая называется logspace

values = np.logspace(-4, 4, 9)
#array([1.e-04, 1.e-03, 1.e-02, 1.e-01, 1.e+00, 1.e+01, 1.e+02, 1.e+03, 1.e+04])
1 голос
/ 11 марта 2019

np.arange дает равномерно распределенные числа. В вашем случае разница между последовательными номерами меняется на каждом шаге.

Вы можете сделать что-то вроде:

a = [10**i for i in range(-4, 5)]
>>> [0.0001, 0.001, 0.01, 0.1, 1, 10, 100, 1000, 10000]

И преобразовать в массив numpy, если хотите

np.array(a)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...