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

Numpy Diff просто объяснил [Учебное пособие + видео]

Функция NP.Diff () NP.DIFF () вычисляет разницу между последующими значениями в Numpy Array. Например, np.diff ([1, 2, 4]) возвращает разностный массив [1 2]. https://youtu.be/jYXvVq2eecc Вот простой пример для расчета различия номера фибоначчи: Импорт Numpy в виде NP # # последовательность Фибоначчи с первыми 8 номерами. Луч ([0, 1, 1, 2, 3, 5, … Numpy diff просто объяснил [Учебное пособие + видео] Прочитано Более “

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

💡 Numpy’s np.diff () Функция рассчитывает разницу между последующими значениями в Numpy Array. Например, np.diff ([1, 2, 4]) Возвращает разностный массив [1 2] .

Вот простой пример для расчета различий номеров фибоначчи:

import numpy as np

# Fibonacci Sequence with first 8 numbers
fibs = np.array([0, 1, 1, 2, 3, 5, 8, 13, 21])


diff_fibs = np.diff(fibs)
print(diff_fibs)
# [1 0 1 1 2 3 5 8]

Этот фрагмент кода показывает самую простую форму np.diff () Способ: Как использовать его на одномерном массиве Numpy. Он рассчитывает разницу между двумя последующими значениями Numpy Array. Следовательно, массив с N Элементы приводит к массиву diff с N-1 элементы.

Формальный синтаксис

numpy.diff(a, n=1, axis=-1, prepend=, append=)

Рассчитайте N-ю дискретная разница по данной оси.

  • Первая разница: [I] [I + 1] - A [I] вдоль данной оси.
  • Высшие различия: использовать np.diff () рекурсивно.
a массив Массив или список, для которых следует рассчитывать различия.
n int. Необязательно, по умолчанию. Орден, то есть количество повторных разных вычислений. Если ноль, возвращает a.
ось int. Необязательно, по умолчанию последняя ось = -1. Ось вдоль которой для расчета различий.
предшествовать массив Значения для предложений для массива вдоль оси перед расчетом разницы. Скалярное значение или массив соответствия измерению и форме.
присоединиться к NDARRAY Значения для добавления к массивам вдоль оси перед расчетом разницы. Скалярное значение или массив соответствия измерению и форме.

Выполнение метода numpy diff несколько раз

Мы также можем запустить Numpy Различать функционируйте несколько раз, установив второй дополнительный аргумент N :

import numpy as np

a = np.array([2, 4, 7, 4, 1, 8, 11, 12])
print(np.diff(a, n=1))
# [ 2  3 -3 -3  7  3  1]

print(np.diff(a, n=2))
# [ 1 -6  0 10 -4 -2]

print(np.diff(a, n=3))
# [ -7   6  10 -14   2]

print(np.diff(a, n=4))
# [ 13   4 -24  16]

print(np.diff(a, n=5))
# [ -9 -28  40]

print(np.diff(a, n=6))
# [-19  68]

print(np.diff(a, n=7))
# [87]

print(np.diff(a, n=8))
# []

Определяя аргумент N , вы можете выполнить Различать функционируйте несколько раз на соответствующем выходе последнего выполнения. Следовательно, звонок np.diff (x,) приводит к тому же выпуску, что и np.diff (np.diff (x)) .

>>> np.diff([1, 2, 4], 2)
array([1])
>>> np.diff(np.diff([1, 2, 4]))
array([1])

Numpy Diff с двумя осями

Но что произойдет, если у вас есть двумерный простой массив? Другими словами, как делает Различать Функция работает с несколькими оси ?

Вот пример того, как вы можете использовать Различать Функция для расчета различий вдоль столбцов ( AXIS = 1 ):

import numpy as np

a = np.array([[0, 1, 1],
              [2, 3, 5],
              [8, 13, 21]])


diffs = np.diff(a, axis=1)
print(diffs)
"""
[[1 0]
 [1 2]
 [5 8]]
"""

Вы можете видеть, что каждая строка с тремя колоннами рухнут в строку только с двумя столбцами (различиями).

Давайте сделаем это еще более сложным и комбинируйте Ось с N Аргумент для нескольких развлекать казнения в одном вызове функций:

import numpy as np

a = np.array([[0, 1, 1],
              [2, 3, 5],
              [8, 13, 21]])


diffs = np.diff(a, n=2, axis=1)
print(diffs)
"""
[[-1]
 [ 1]
 [ 3]]
"""

В этой головоломке мы используем аргумент оси ось = 1 Это означает, что мы рассчитаем различия вдоль столбцов. Например, первый столбец приводит к массиву разных [0 1] .

При определении параметра N , Различать Функция применяется N раз на выход предыдущего выполнения функции. Таким образом, первый столбец претерпевает следующие преобразования:

[0 1 1] diff--> [1 0] diff--> [-1]

Куда пойти отсюда?

Наличие опытного образования Python имеет решающее значение для вашего успеха в качестве разработчика. Вы не можете надеяться освоить науки о данных, если вы даже не знаете самые основные концепции Python и компьютерных наук.

С этой целью я создал бесплатный курс по электронной почте Python (+ Bonus Cheat Shate Series). Подстрадавшая я быть, если вам нужно обновить ваши основные знания Python! Это весело!

Если вы уже опытны в Python, изучите глубину Numpy Library и KickStart ваши карьеры науки о данных с нашей Leanpub Bestselling Book «Coffe Breake Numpy»!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Оригинал: “https://blog.finxter.com/numpy-np-diff-simply-explained-bonus-video/”