Numpy Logspace - почему нет негативов? - PullRequest
0 голосов
/ 18 декабря 2018

Я хотел бы легко создавать массивы в логарифмическом масштабе, и я использовал

for c in [np.logspace(1,3,num = 3, base=10, dtype=int)]:
    print(c)

, который успешно работает для положительных показателей.Однако что, если я хочу начать с отрицательных показателей, т. Е. 0,01?Почему

for c in [np.logspace(-2,3,num = 6, base=10, dtype=int)]:
    print(c)

производит:

[   0    0    1   10  100 1000]

, а не

[   0.01    0.1    1   10  100 1000]

, и что наиболее важно, есть ли способ получить вышеуказанный результат с помощью numpy или аналогичногобиблиотека, а не использовать что-то вроде этого:

[10**i for i in range(-2,3)]

1 Ответ

0 голосов
/ 18 декабря 2018

В np.logspace() вы добавили dtype=int аргумент ключевого слова, который заставляет функцию возвращать только целые числа.

Просто удалите этот аргумент:

np.logspace(-2, 3, num=6, base=10)
>>>array([1.e-02, 1.e-01, 1.e+00, 1.e+01, 1.e+02, 1.e+03])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...