Проблема : Как создать последовательность равномерно разнесенных значений
- Используя чистый ванильный питон и
- Использование Numpy’s Linspace () метод.
Пример : Учитывая три аргумента: Start = 10, Стоп = 20 , number_of_values = 11 Отказ Как вы создаете последовательность 11 значений x0, x1, …, x10 где два последующих значения XI и X (I-1) иметь одинаковое расстояние для всех Я в {0, …, 10} Отказ
# Given start = 10 stop = 20 num_vals = 11 # Desired magic_method(start, stop, num_vals) # Returns [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
Далее вы узнаете два метода, которые достигают этой цели!
Метод 1: Ваниль Питон
Вы можете создать последовательность определенного количества равномерно разнесенных поплавок в два этапа:
- Рассчитайте разницу между двумя последующими числами, как
(Stop-Start)/(num_vals-1)
Предполагая, что вы хотите включить конечные точки. - Создайте список равномерно расположенных номеров, используя Понимание списка :
[Пуск + I * Delta для I в диапазоне (num_vals)]
# Problem Formulation start = 10 stop = 20 num_vals = 11 # Method 1: Vanilla Python delta = (stop-start)/(num_vals-1) evenly_spaced = [start + i * delta for i in range(num_vals)] print(evenly_spaced)
Способ 2: Numpy Linspace ()
Как это работает? Посмотрите на эту графику, которая объясняет функцию Linspace Numpy Visual:
В большинстве случаев требуется только три аргумента: Начать
, Стоп
и Num
Отказ Для достижения цели вы бы использовали следующий код:
# Problem Formulation start = 10 stop = 20 num_vals = 11 # Method 2: NumPy Linspace import numpy as np print(np.linspace(start, stop, num_vals)) # [10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.]
Обратите внимание, что результат представляет собой список поплавков. Чтобы преобразовать их в INT, вы можете использовать следующий одноклассник вместо этого:
print([int(x) for x in np.linspace(start, stop, num_vals)]) # [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
Numpy Linspace () головоломка
Можете ли вы решить эту головоломку Python?
[Python] Импорт Numpy как NP
Год. Linspace (0, 365, 366) Печать (INT (год [-1] – год [-2])) [/Python]
Упражнение : Что такое выход этой головоломки?
Вы также можете решить его в нашем интерактивном приложении Python Puzzle и отслеживать свои навыки Python здесь :
Numpy – популярная библиотека Python для науки о данных, ориентируясь на линейную алгебру.
Эта головоломка о полезной функции Linspace. В частности, Linspace (запуск, остановка, Num)
Возвращает равномерно расположенные номера на данный интервал [Начать, остановить]
, с остановкой включен.
Например, Linspace (0,3,4)
Возвращает Numpy Sequence 0,1,2,3 (то есть 4 равномерно разнесенных номеров).
Эта функция особенно полезна при построении (или оценке) функции. Результатом функции, применяемой к равномерно разнесенным номерам, показывает, как он прогрессирует для растущих значений параметров.
Связанное видео.
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.