Пропустить до содержимого

Как использовать linspace в Python?

[

np.linspace(): Создание равномерно распределенных или неравномерно распределенных массивов

by Stephen Gruppetta data-science intermediate numpy

На первый взгляд, np.linspace() может показаться относительно простым в использовании. Однако он является важной частью набора средств числового программирования. Он очень гибкий и мощный. В этом руководстве вы узнаете, как эффективно использовать эту функцию.

В этом руководстве вы узнаете, как:

  • Создавать равномерно распределенный или неравномерно распределенный диапазон чисел
  • Решать, когда использовать np.linspace() вместо альтернативных инструментов
  • Использовать обязательные и дополнительные входные параметры
  • Создавать массивы с двумя или более измерениями
  • Представлять математические функции в дискретной форме

В данном руководстве предполагается, что вы уже знакомы с основами NumPy и типом данных ndarray. Вы начнете с изучения различных способов создания диапазона чисел в Python. Затем вы ближе познакомитесь со всеми способами использования np.linspace() и узнаете, как эффективно использовать его в своих программах.

Бесплатный бонус: Нажмите здесь, чтобы получить доступ к бесплатному руководству по ресурсам NumPy, которое указывает лучшие учебники, видео и книги для улучшения ваших навыков работы с NumPy.

Создание диапазона чисел с равномерным распределением

Существует несколько способов создания диапазона равномерно распределенных чисел в Python. np.linspace() позволяет это сделать и настроить диапазон под свои конкретные нужды, но это не единственный способ создания диапазона чисел. В следующем разделе вы узнаете, как использовать np.linspace(), а затем сравните его с другими способами создания диапазонов равномерно распределенных чисел.

Использование np.linspace()

np.linspace() имеет два обязательных параметра, start и stop, которые вы можете использовать для установки начала и конца диапазона:

Python

>>> import numpy as np
>>> np.linspace(1, 10)
array([ 1. , 1.18367347, 1.36734694, 1.55102041, 1.73469388,
1.91836735, 2.10204082, 2.28571429, 2.46938776, 2.65306122,
2.83673469, 3.02040816, 3.20408163, 3.3877551 , 3.57142857,
3.75510204, 3.93877551, 4.1224489])

После выполнения этого кода вы получите массив чисел, равномерно распределенных в диапазоне от 1 до 10. Количество элементов в массиве по умолчанию равно 50, но вы можете настроить это, используя необязательный параметр num:

Python

>>> np.linspace(1, 10, num=100)
array([ 1. , 1.09090909, 1.18181818, 1.27272727, 1.36363636,
1.45454545, 1.54545455, 1.63636364, 1.72727273, 1.81818182,
1.90909091, 2. , 2.09090909, 2.18181818, 2.27272727,
2.36363636, 2.45454545, 2.54545455, 2.63636364, 2.72727273,
...
9.27272727, 9.36363636, 9.45454545, 9.54545455, 9.63636364,
9.72727273, 9.81818182, 9.90909091, 10. ])