Шпаргалка Numpy: аналіз основних даних у Python

Шпаргалка Numpy: аналіз основних даних у Python

Як дослідник даних, який працює з Python, ви, швидше за все, стикалися з бібліотекою NumPy . Це один із базових пакетів для наукових обчислень у .

Завдяки своїй здатності виконувати високопродуктивні операції з багатовимірними масивами, NumPy є важливим інструментом для тих, хто занурюється в науку про дані або числові обчислення на Python.

Шпаргалка NumPy може бути чудовим ресурсом, який допоможе вам у подорожі до цієї бібліотеки Python. Повна шпаргалка допоможе вам орієнтуватися в функціях NumPy і швидко навчитися використовувати його для різних завдань!

Також пам’ятайте, що NumPy лежить в основі важливих бібліотек, таких як Pandas, SciPy, sci-kit-learn та інших пакетів Python.

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

Ви стара школа (як ми) і хочете завантажити та, можливо, роздрукувати свою шпаргалку?

Прокрутіть вниз, щоб зробити це.

Зміст

Основи NumPy

У цьому розділі ми розглянемо основи NumPy, зосередившись на встановленні NumPy, створенні масиву, атрибутах масиву та типах даних. Ці концепції забезпечать міцну основу для розуміння та ефективного використання NumPy у ваших проектах Python Data Science.

1. Встановлення та імпортування NumPy

Ви можете встановити NumPy з командного рядка за допомогою команди нижче:

pip install numpy

Після встановлення імпортуйте його у свій код.

import numpy as np

Майте на увазі, що ви можете використовувати будь-яке інше ім’я, крім np . Однак np — це стандартна угода про імпорт NumPy, яку використовують більшість розробників і фахівців із обробки даних.

2. Створення масиву

Створення масивів у NumPy просте та зрозуміле. Ви можете створювати масиви зі списків або кортежів за допомогою функції numpy.array() :

import numpy as np

a = np.array([1, 2, 3])  # Creates a 1D array
b = np.array([(1, 2, 3), (4, 5, 6)])  # Creates a 2D array

Ви також можете генерувати масиви певних форм і значень за допомогою різних функцій:

  • np.zeros() : створює масив, заповнений нулями

  • np.ones() : створює масив, заповнений одиницями

  • np.identity() : створює масив матриці ідентичності.

  • np.empty() : створює масив без ініціалізації його елементів будь-яким конкретним значенням

  • np.arange() : створює масив із рівномірними інтервалами між початковим і кінцевим значеннями

  • np.linspace() : створює масив із заданою кількістю рівномірно розподілених значень між початковим і кінцевим значеннями

Шпаргалка Numpy: аналіз основних даних у Python

Примітка. Ви не можете створити порожній масив у NumPy. Кожен масив NumPy має фіксований, незмінний розмір, і кожен елемент у масиві має бути заповнений під час створення масиву.

Функція np.empty() створює необхідну форму масиву та заповнює його випадковими значеннями. Метод за замовчуванням створює масив випадкових плаваючих значень.

Ви можете створити інший тип даних масиву за допомогою параметра dtype .

3. Атрибути масиву

Масиви NumPy мають кілька атрибутів, які надають корисну інформацію про масив. Давайте розглянемо деякі з них:

  • ndarray.shape: повертає розміри масиву як кортеж (рядки, стовпці)

  • ndarray.ndim: повертає кількість вимірів у масиві

  • ndarray.size: повертає загальну кількість елементів у масиві

  • ndarray.dtype: повертає тип даних елементів масиву

Щоб отримати доступ до цих атрибутів, використовуйте крапкову нотацію, наприклад:

a = np.array([(1, 2, 3), (4, 5, 6)])

#Print out the array shape
print(a.shape)  # Output: (2, 3)

Шпаргалка Numpy: аналіз основних даних у Python

4. Типи даних

NumPy надає кілька типів даних для зберігання даних у масивах, таких як ціле число, рядок, число з плаваючою точкою, логічний і комплексний. За замовчуванням NumPy намагається визначити тип даних на основі вхідних елементів.

Однак ви також можете явно вказати тип даних за допомогою ключового слова dtype . Наприклад:

import numpy as np
a = np.array([1, 2, 3], dtype=float)  # Creates an array of floats

Поширені типи даних NumPy включають:

  • np.int32 : 32-розрядне ціле число

  • np.int64: 64-розрядне ціле число

  • np.float32: 32-розрядне число з плаваючою комою

  • np.float64: 64-розрядне число з плаваючою комою

  • np.complex: комплексне число, представлене двома 64-розрядними числами з плаваючою комою

Ви також можете конвертувати масиви з одного типу даних в інший. У цьому прикладі ми можемо перетворити цілий масив a на логічний масив arr за допомогою методу np.array() .

Шпаргалка Numpy: аналіз основних даних у Python

З прикладу ми бачимо, що метод array() перетворює елементи масиву в логічні значення. Потім ці логічні значення утворюють новий масив NumPy arr.

Розуміння цих основних концепцій NumPy дозволить вам ефективно працювати з різними математичними операціями NumPy і виконувати їх. Наприклад, ви можете переглянути наше відео про те, як трансформувати та кодувати адреси на Python.

У ньому ми використовували типи даних Python Pandas і NumPy для геокодування домашніх адрес.

Маніпуляція масивом

У цьому розділі ви дізнаєтеся про різноманітні методи маніпулювання формою масиву в NumPy. Ми обговоримо зміну форми, конкатенацію, копіювання, розділення, додавання/видалення елементів, індексування та нарізку.

Ці прийоми мають вирішальне значення для ефективної роботи з масивами даних у ваших наукових проектах.

Давайте заглибимося в кожен підрозділ.

1. Переформування

Переформатування масиву в NumPy — типове завдання, яке ви виконуєте. Вам може знадобитися змінити форму вашого масиву, щоб він відповідав вимогам функції чи алгоритму.

Щоб змінити форму масиву, скористайтеся функцією reshape() :

arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = arr.reshape(2, 3)

Це перетворить ваш одновимірний масив у двовимірний масив із 2 рядками та 3 стовпцями.

Шпаргалка Numpy: аналіз основних даних у Python

Примітка. Переконайтеся, що нова форма, яку ви надаєте, має той самий розмір (кількість елементів масиву), що й вихідний масив.

2. Копіювання

Ви можете скопіювати елементи з одного масиву NumPy в інший за допомогою методу copy() . Слід зауважити, що використання оператора присвоєння '=' створює поверхневу копію.

#Creating a shallow copy of a NumPy array
a = np.array([9, 6, 12, 16, 20])
b = a
b[0] = 19

print(a) #Output:[19, 6, 12, 16, 20]
print(b) #Output:[19, 6, 12, 16, 20]

Новий масив посилається лише на старий масив у пам’яті системи. Вони містять однакові елементи і не є незалежними один від одного.

Використовуючи глибоку копію, ви створюєте новий масив NumPy, який містить ті самі дані, що й старий, але не залежить від нього.

#Creating a deep copy of a NumPy array
a = np.array([9, 6, 12, 16, 20])
b = np.copy(a)
b[0] = 19

print(a) #Output:[9, 6, 12, 16, 20]
print(b) #Output:[19, 6, 12, 16, 20]

3. Конкатенація

Іноді вам може знадобитися об’єднати два масиви в один. У NumPy ви можете використовувати функцію concatenate() , щоб об’єднати масиви вздовж існуючої осі:

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = np.concatenate((arr1, arr2))

Це об’єднує arr1 і arr2 в один масив. Майте на увазі, що об’єднані масиви повинні мати однакову форму, за винятком уздовж зазначеної осі.

4. Розщеплення

Розщеплення є протилежністю конкатенації. Ви можете розділити масив на менші підмасиви за допомогою функції split():

arr = np.array([1, 2, 3, 4, 5, 6])
result = np.split(arr, 3)

Це розбиває масив на 3 підмасиви однакового розміру. Переконайтеся, що вказана кількість розділень може рівномірно розділити розмір масиву вздовж заданої осі.

Шпаргалка Numpy: аналіз основних даних у Python

5. Додавання/видалення елементів

Додавати або видаляти елементи в масиві NumPy можна за допомогою функцій append() і delete() . Перший можна використовувати для додавання значень у кінець масиву, тоді як другий видаляє елемент за вказаним індексом.

Ось приклад:

arr = np.array([1, 2, 3])

arr = np.append(arr, [4, 5, 6]) # Appends values to the end of the array
arr = np.delete(arr, 0) # Removes the array element on index 0

Майте на увазі, що масиви NumPy мають фіксований розмір. При використанні append() або delete() створюється новий масив, а вихідний не змінюється.

6. Індексація

Ви можете виконувати операції індексування масивів NumPy так само, як і зі списками або кортежами Python. Давайте розглянемо, як ви можете отримати доступ або змінити елементи масиву в даному масиві.

arr = np.array([1, 2, 3])

#Returns the array element on index 1
element_2 = b[1]

#Change the array element on index 0
arr[0]= 89

7. Нарізка

Ви також можете розрізати масиви NumPy, щоб витягнути або переглянути розділ даних так само, як це було б у Python. Давайте розглянемо приклад нижче:

arr1 = np.array([1, 2, 3, 4, 5, 6, 7])
arr2 = np.array([(1, 2, 3, 6, 0), (4, 5, 6, 11, 13)]) 

# To return the first 3 elements of arr1
print(arr1[0:3]) #Output: [1, 2, 3]

# To return the second row in arr2
b = arr2[1, : ].copy() #Output: [4, 5, 6, 11, 13]

Примітка. Розрізання створює поверхневу копію, яка все ще посилається на основний масив. Таким чином, будь-яка зміна, яку ви вносите в нарізані дані, буде застосована до основного масиву і навпаки.

Щоб уникнути цього, ви можете використовувати метод copy() для створення глибокої незалежної копії.

Елементарні функції

У цьому розділі ви дізнаєтеся про різні елементарні функції в NumPy, які полегшать вам завдання аналізу даних. Ми розглянемо арифметичні дії, тригонометрію, показники степеня та логарифми.

1. Арифметичні дії

NumPy пропонує різноманітні математичні операції над масивами, які роблять роботу з ними простою та ефективною. масив математика вектор математика

Деякі з операцій:

  • Додавання: numpy.add(x1, x2)

  • Віднімання: numpy.subtract(x1, x2)

  • Множення: numpy.multiply(x1, x2)

  • Ділення: numpy.divide(x1, x2)

  • Модуль: numpy.mod(x1, x2)

  • Потужність: numpy.power(x1, x2)

  • Квадратний корінь: numpy.sqrt(x)

Шпаргалка Numpy: аналіз основних даних у Python

Примітка. Під час використання цих операцій два масиви повинні мати однакову форму. Якщо ні, ви зіткнетеся з помилками.

Існує виняток для певних масивів завдяки функції NumPy під назвою трансляція. Ми розглянемо це в наступному розділі.

Ви можете виконувати ці операції над масивами поелементно, що робить їх високоефективними для великомасштабних маніпуляцій даними.

2. Тригонометрія

Тригонометричні функції відіграють значну роль у різних математичних і наукових обчисленнях. NumPy надає широкий спектр тригонометричних функцій.

Деякі з основних функцій:

  • Синус : numpy.sin(x)

  • Косинус: numpy.cos(x)

  • Тангенс: numpy.tan(x)

  • Арксинус: numpy.arcsin(x)

  • Аркосинус: numpy.arccos(x)

  • Арктангенс : numpy.arctan(x)

Ці функції бездоганно працюють із масивами, полегшуючи вам виконання векторизованих обчислень із великими наборами даних.

3. Показники степеня та логарифми

Експоненти та логарифми мають вирішальне значення для різноманітних числових операцій. NumPy надає велику колекцію функцій для роботи з експонентами та логарифмами.

Деякі з основних функцій:

  • Експоненціальний : numpy.exp(x)

  • Логарифм (основа e): numpy.log(x)

  • Логарифм (за основою 10): numpy.log10(x)

  • Логарифм (за основою 2): numpy.log2(x)

Використовуючи ці функції, ви можете швидко виконувати складні математичні операції над кожним елементом масиву. Це робить ваші завдання аналізу даних більш доступними та ефективними.

Аналіз масиву

У цьому розділі ми обговоримо різні техніки аналізу масивів і елементів масиву в NumPy. Деякі з ключових функцій, які ми розглянемо, включають агрегатні функції, статистичні функції, пошук і сортування.

1. Агрегатні функції

NumPy надає кілька агрегатних функцій, які дозволяють виконувати операції з масивами, наприклад підсумовувати всі їх елементи, знаходити мінімальне або максимальне значення тощо:

  • sum: np.sum(your_array) – обчислює суму всіх елементів у масиві.

  • min: np.min(your_array) – знайти мінімальний елемент масиву.

  • max: np.max(your_array) – знайти максимальний елемент масиву.

  • mean : np.mean(your_array) – обчислює середнє значення значень у масиві.

  • median : np.median(your_array) – Знайдіть медіану значень у масиві.

Шпаргалка Numpy: аналіз основних даних у Python

2. Статистичні функції

NumPy також має різноманітні статистичні функції, які допоможуть аналізувати дані:

  • std: np.std(your_array) – обчислює стандартне відхилення значень у масиві.

  • var: np.var(your_array) – обчислює дисперсію значень у масиві.

  • corrcoef : np.corrcoef(your_array) – обчислює коефіцієнт кореляції масиву.

3. Пошук

Пошук в масивах NumPy можна здійснювати різними методами:

  • argmin: np.argmin(your_array) – Знайти індекс мінімального елемента масиву.

  • argmax: np.argmax(your_array) – знайти індекс максимального елемента масиву.

  • where: np.where(умова) – повертає індекси елементів у масиві, які задовольняють задану умову.

4. Сортування

Ви можете сортувати елементи у своєму масиві за допомогою таких функцій:

  • sort : np.sort(your_array) – відсортувати елементи в масиві в порядку зростання.

  • argsort: np.argsort(your_array) – Повертає індекси, які сортують масив.

За допомогою цих функцій і методів ви можете зручно аналізувати та маніпулювати своїми масивами NumPy, щоб виявити цінну інформацію та підтримати ваші зусилля з аналізу даних.

Розширені функції

У цьому розділі ми розглянемо деякі розширені функції в NumPy, які допоможуть вам ефективніше працювати з вашими даними. Ми розглянемо функції трансляції та лінійної алгебри.

1. Трансляція

Трансляція — це потужна функція NumPy, яка дозволяє виконувати операції з масивами різних форм і розмірів. Він працює, автоматично розширюючи розміри меншого масиву, щоб відповідати більшому масиву, полегшуючи виконання поелементних операцій.

Ось приклад:

import numpy as np
A = np.array([1, 2, 3])
B = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

C = A + B

У цьому прикладі одновимірний масив A транслюється, щоб відповідати формі 2D-масиву B, дозволяючи поелементне додавання.

Шпаргалка Numpy: аналіз основних даних у Python

Під час роботи з трансляцією пам’ятайте про такі правила:

  • Розміри масивів мають бути сумісними (або однакового розміру, або один із них дорівнює 1).

  • Трансляція застосовується від кінцевих розмірів і працює до провідних розмірів.

2. Лінійна алгебра

NumPy надає кілька функцій лінійної алгебри, які можуть бути корисними під час роботи з багатовимірними масивами. Деякі з цих функцій включають:

  • np.dot(A, B): обчислює скалярний добуток двох масивів.

  • np.linalg.inv(A) : обчислює обернену квадратну матрицю.

  • np.linalg.eig(A) : обчислює власні значення та власні вектори квадратної матриці.

  • np.linalg.solve(A, B): розв’язує лінійну систему рівнянь, де A — матриця коефіцієнтів, а B — постійна матриця.

Не забудьте завжди перевіряти, чи ваші матриці сумісні перед виконанням цих операцій.

Вхід і вихід

У цьому розділі ми розглянемо, як зберігати та завантажувати масиви, а також як читати та записувати файли за допомогою NumPy.

1. Збереження та завантаження масивів

Щоб зберегти масив, ви можете використовувати функцію np.save() NumPy. Ця функція приймає назву файлу та масив як два основні аргументи.

import numpy as np
arr = np.array([1, 2, 3])

np.save('my_array.npy', arr)

Щоб завантажити збережений масив, скористайтеся функцією np.load() , вказавши ім’я файлу як аргумент.

loaded_array = np.load('my_array.npy')

print(loaded_array)  
# Output: array([1, 2, 3])

Ви також можете зберігати та завантажувати кілька масивів за допомогою функцій np.save() і np.load() .

2. Читання та запис у текстові файли

NumPy надає функції для читання та запису текстових файлів із масивами, наприклад np.loadtxt() і np.savetxt() . Ви можете використовувати ці функції для збереження та завантаження даних із таких форматів файлів, як файл txt або CSV.

Щоб прочитати текстовий файл у масив, використовуйте функцію np.loadtxt() . Він приймає ім’я файлу як основний аргумент, а також підтримує додаткові аргументи для визначення роздільника, dtype тощо.

arr_from_txt = np.loadtxt('data.txt', delimiter=',')
print(arr_from_txt)

Щоб прочитати дані з файлу CSV, ви також можете скористатися функцією np.loadtxt() . Однак переконайтеся, що роздільник завжди встановлено на кому « , «.

Щоб записати масив у текстовий файл, використовуйте функцію np.savetxt() . Ця функція приймає назву файлу та масив як два основні аргументи, за якими слідують додаткові аргументи, такі як роздільник і заголовок.

arr_to_txt = np.array([[1, 2, 3], [4, 5, 6]])
np.savetxt('output_data.txt', arr_to_txt, delimiter=',')

Ці функції введення та виведення дозволяють ефективно працювати з масивами та текстовими файлами в задачах обробки та маніпулювання даними за допомогою NumPy.

Завантажте свою шпаргалку нижче

Заключні думки

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

Для отримання додаткових розширених функцій ви можете переглянути документацію NumPy . Ви також можете переглянути цю розвагу, яку ми зібрали як для новачків, так і для досвідчених розробників.

Удачі!


Відкрийте для себе унікальні ідеї за допомогою функції TOPN LuckyTemplates

Відкрийте для себе унікальні ідеї за допомогою функції TOPN LuckyTemplates

У цьому блозі представлено функцію LuckyTemplates TOPN DAX, яка дає вам змогу отримувати унікальну статистику з ваших даних, допомагаючи вам приймати кращі маркетингові рішення.

Моделювання даних у LuckyTemplates за допомогою допоміжних таблиць

Моделювання даних у LuckyTemplates за допомогою допоміжних таблиць

Дізнайтеся про деякі фантастичні аналітичні прийоми, які ми можемо використовувати для моделювання даних у LuckyTemplates за допомогою таблиць підтримки DAX.

Розширений DAX для LuckyTemplates: впровадження логіки ранжування в унікальній статистиці

Розширений DAX для LuckyTemplates: впровадження логіки ранжування в унікальній статистиці

Тут ми зануримося в LuckyTemplates Advanced DAX і запровадимо логіку ранжирування, щоб отримати дуже унікальну інформацію. У цьому прикладі я також демонструю розгалуження міри.

Функція параметра LuckyTemplates «Що, якщо».

Функція параметра LuckyTemplates «Що, якщо».

У цьому блозі представлено нову функцію в LuckyTemplates — параметр аналізу «Що, якщо». Ви побачите, як це робить усе швидким і легким для аналізу сценарію.

Використовуйте розгалуження міри LuckyTemplates, щоб перевірити, чи зростає ваша маржа зі зростанням доходу

Використовуйте розгалуження міри LuckyTemplates, щоб перевірити, чи зростає ваша маржа зі зростанням доходу

Дізнайтеся, як визначити, чи добре зростає ваш дохід, перевіривши, чи зросла ваша маржа за допомогою розгалуження міри LuckyTemplates.

Параметри LuckyTemplates через редактор запитів

Параметри LuckyTemplates через редактор запитів

Дізнайтеся та зрозумійте, як можна створювати та використовувати параметри LuckyTemplates, які є потужною функцією редактора запитів.

Кругла гістограма – візуалізація для вашої інформаційної панелі

Кругла гістограма – візуалізація для вашої інформаційної панелі

У цьому підручнику буде обговорено створення круглої гістограми за допомогою Charticulator. Ви дізнаєтеся, як створити їх для звіту LuckyTemplates.

Функції та формули PowerApps | Вступ

Функції та формули PowerApps | Вступ

Дізнайтеся, як використовувати функції та формули PowerApps, щоб покращити функціональність і змінити поведінку в нашій програмі Canvas Power Apps.

Труба в R: підключення функцій за допомогою Dplyr

Труба в R: підключення функцій за допомогою Dplyr

У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.