Рубрики
Без рубрики

Как создать последовательность равномерно расположенных значений [Vanilla Python & Numpy Linspace]

Проблема: как создать последовательность равномерно расположенных значений с использованием чистого ванильного питона, а также метод Linspace () Numpy. Пример: Учитывая три аргумента :,. Как вы создаете последовательность 11 значений x0, x1, …, x10, где два последующих значения xi и x (I-1) имеют одинаковое расстояние для всех i в {0, …, 10}. … Как создать последовательность равномерно разнесенных значений [Vanilla Python & Numpy Linspace] Подробнее »

Автор оригинала: Chris.

Проблема : Как создать последовательность равномерно разнесенных значений

  • Используя чистый ванильный питон и
  • Использование 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 и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.