Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Перетворення Масивів у Плоский Вигляд | Поширені Функції NumPy
Ultimate NumPy

bookПеретворення Масивів у Плоский Вигляд

Згортання масиву означає перетворення його з багатовимірного масиву у одновимірний масив, тобто розгортання його вмісту.

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

У NumPy існує три основні способи згортання масиву:

  • Використання методу ndarray.reshape(-1) або функції numpy.reshape(array, -1);
  • Використання методу ndarray.ravel() або функції numpy.ravel(array);
  • Використання методу ndarray.flatten().

reshape(-1)

Метод .reshape(-1) або функція reshape(array, -1) повертає суміжний згортаний масив з тією ж кількістю елементів.

Як вже згадувалося у попередньому розділі, -1 автоматично обчислює розмір виміру на основі розміру початкового масиву. Оскільки передається лише одне ціле число для shape, повертається одновимірний масив з тією ж кількістю елементів.

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.reshape(-1) print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

Метод .reshape() або відповідна функція повертає представлення (view) оригінального масиву, тому будь-які зміни у зміненому масиві також вплинуть на оригінальний масив.

Використання flattened_array = np.reshape(array_2d, -1) може бути альтернативою виклику методу.

ravel()

Метод ndarray.ravel() або функція numpy.ravel(array) працюють так само, як і reshape(-1), і також повертають представлення (view) оригінального масиву:

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.ravel() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

flattened_array = np.ravel(array_2d) можна використовувати замість виклику методу.

ndarray.flatten()

Якщо потрібна копія початкового масиву, а не представлення, використовуйте метод .flatten():

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.flatten() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Initial array:\n{array_2d}')
copy
Note
Примітка

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

Завдання

Swipe to start coding

  1. Коректне використання методу .flatten() для перетворення exam_scores у плоский масив і збереження результату в exam_scores_flattened.
  2. Коректне використання методу .reshape() для перетворення exam_scores у плоский масив і збереження результату в exam_scores_reshaped.
  3. Використання методу .ravel() для перетворення exam_scores у плоский масив і збереження результату в exam_scores_raveled.
  4. Серед трьох створених плоских масивів оберіть той, який є копією оригінального масиву, а не представленням (view), і присвойте значення 100 його першому елементу (використовуйте позитивну індексацію).

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 5
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

close

Awesome!

Completion rate improved to 3.7

bookПеретворення Масивів у Плоский Вигляд

Свайпніть щоб показати меню

Згортання масиву означає перетворення його з багатовимірного масиву у одновимірний масив, тобто розгортання його вмісту.

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

У NumPy існує три основні способи згортання масиву:

  • Використання методу ndarray.reshape(-1) або функції numpy.reshape(array, -1);
  • Використання методу ndarray.ravel() або функції numpy.ravel(array);
  • Використання методу ndarray.flatten().

reshape(-1)

Метод .reshape(-1) або функція reshape(array, -1) повертає суміжний згортаний масив з тією ж кількістю елементів.

Як вже згадувалося у попередньому розділі, -1 автоматично обчислює розмір виміру на основі розміру початкового масиву. Оскільки передається лише одне ціле число для shape, повертається одновимірний масив з тією ж кількістю елементів.

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.reshape(-1) print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

Метод .reshape() або відповідна функція повертає представлення (view) оригінального масиву, тому будь-які зміни у зміненому масиві також вплинуть на оригінальний масив.

Використання flattened_array = np.reshape(array_2d, -1) може бути альтернативою виклику методу.

ravel()

Метод ndarray.ravel() або функція numpy.ravel(array) працюють так само, як і reshape(-1), і також повертають представлення (view) оригінального масиву:

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.ravel() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

flattened_array = np.ravel(array_2d) можна використовувати замість виклику методу.

ndarray.flatten()

Якщо потрібна копія початкового масиву, а не представлення, використовуйте метод .flatten():

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.flatten() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Initial array:\n{array_2d}')
copy
Note
Примітка

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

Завдання

Swipe to start coding

  1. Коректне використання методу .flatten() для перетворення exam_scores у плоский масив і збереження результату в exam_scores_flattened.
  2. Коректне використання методу .reshape() для перетворення exam_scores у плоский масив і збереження результату в exam_scores_reshaped.
  3. Використання методу .ravel() для перетворення exam_scores у плоский масив і збереження результату в exam_scores_raveled.
  4. Серед трьох створених плоских масивів оберіть той, який є копією оригінального масиву, а не представленням (view), і присвойте значення 100 його першому елементу (використовуйте позитивну індексацію).

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 5
single

single

some-alt