- Питон – Матрица
- Пример матрицы
- Доступ к значениям в матрице
- Добавление строки
- Добавление столбца
- Удалить строку из матрицы
- Удалить столбец из матрицы
- Обновить строку в матрице
- numpy.delete#
- Numpy delete() в Python: удаление подмассива из массива
- Что такое функция Numpy delete() в Python?
- Синтаксис
- Параметры
- Возвращаемое значение
- Примеры программирования
- Удаление элементов из одномерного массива
- Python Numpy: удаление элементов из 2D-массива
- Удалить строку в NumPy
- Удалите NumPy Row с помощью функции numpy.delete()
Питон – Матрица
Матрица – это особый случай двумерного массива, где каждый элемент данных имеет строго одинаковый размер. Таким образом, каждая матрица также является двумерным массивом, но не наоборот. Матрицы являются очень важными структурами данных для многих математических и научных расчетов. Как мы уже обсуждали структуру данных двухмерного массива в предыдущей главе, мы сосредоточимся на операциях структуры данных, специфичных для матриц в этой главе.
Мы также используем пакет numpy для манипулирования матричными данными.
Пример матрицы
Рассмотрим случай записи температуры в течение 1 недели, измеренной утром, в полдень, вечером и в полночь. Он может быть представлен в виде матрицы 7X5 с использованием массива и метода изменения формы, доступного в numpy.
from numpy import * a = array([['Mon',18,20,22,17],['Tue',11,18,21,18], ['Wed',15,21,20,19],['Thu',11,20,22,21], ['Fri',18,17,23,22],['Sat',12,22,20,18], ['Sun',13,15,19,16]]) m = reshape(a,(7,5)) print(m)
Вышеуказанные данные могут быть представлены в виде двумерного массива, как показано ниже.
[['Mon' '18' '20' '22' '17'] ['Tue' '11' '18' '21' '18'] ['Wed' '15' '21' '20' '19'] ['Thu' '11' '20' '22' '21'] ['Fri' '18' '17' '23' '22'] ['Sat' '12' '22' '20' '18'] ['Sun' '13' '15' '19' '16']]
Доступ к значениям в матрице
Доступ к элементам данных в матрице можно получить с помощью индексов. Методы доступа аналогичны способам доступа к данным в двумерном массиве.
from numpy import * m = array([['Mon',18,20,22,17],['Tue',11,18,21,18], ['Wed',15,21,20,19],['Thu',11,20,22,21], ['Fri',18,17,23,22],['Sat',12,22,20,18], ['Sun',13,15,19,16]]) # Print data for Wednesday print(m[2]) # Print data for friday evening print(m[4][3])
Когда приведенный выше код выполняется, он дает следующий результат –
Добавление строки
from numpy import * m = array([['Mon',18,20,22,17],['Tue',11,18,21,18], ['Wed',15,21,20,19],['Thu',11,20,22,21], ['Fri',18,17,23,22],['Sat',12,22,20,18], ['Sun',13,15,19,16]]) m_r = append(m,[['Avg',12,15,13,11]],0) print(m_r)
Когда приведенный выше код выполняется, он дает следующий результат –
[['Mon' '18' '20' '22' '17'] ['Tue' '11' '18' '21' '18'] ['Wed' '15' '21' '20' '19'] ['Thu' '11' '20' '22' '21'] ['Fri' '18' '17' '23' '22'] ['Sat' '12' '22' '20' '18'] ['Sun' '13' '15' '19' '16'] ['Avg' '12' '15' '13' '11']]
Добавление столбца
Мы можем добавить столбец в матрицу, используя метод insert (). здесь мы должны упомянуть индекс, в который мы хотим добавить столбец, и массив, содержащий новые значения добавленных столбцов. В приведенном ниже примере мы добавляем новый столбец на пятой позиции с начала.
from numpy import * m = array([['Mon',18,20,22,17],['Tue',11,18,21,18], ['Wed',15,21,20,19],['Thu',11,20,22,21], ['Fri',18,17,23,22],['Sat',12,22,20,18], ['Sun',13,15,19,16]]) m_c = insert(m,[5],[[1],[2],[3],[4],[5],[6],[7]],1) print(m_c)
Когда приведенный выше код выполняется, он дает следующий результат –
[['Mon' '18' '20' '22' '17' '1'] ['Tue' '11' '18' '21' '18' '2'] ['Wed' '15' '21' '20' '19' '3'] ['Thu' '11' '20' '22' '21' '4'] ['Fri' '18' '17' '23' '22' '5'] ['Sat' '12' '22' '20' '18' '6'] ['Sun' '13' '15' '19' '16' '7']]
Удалить строку из матрицы
Мы можем удалить строку из матрицы, используя метод delete (). Мы должны указать индекс строки, а также значение оси, которое равно 0 для строки и 1 для столбца.
from numpy import * m = array([['Mon',18,20,22,17],['Tue',11,18,21,18], ['Wed',15,21,20,19],['Thu',11,20,22,21], ['Fri',18,17,23,22],['Sat',12,22,20,18], ['Sun',13,15,19,16]]) m = delete(m,[2],0) print(m)
Когда приведенный выше код выполняется, он дает следующий результат –
[['Mon' '18' '20' '22' '17'] ['Tue' '11' '18' '21' '18'] ['Thu' '11' '20' '22' '21'] ['Fri' '18' '17' '23' '22'] ['Sat' '12' '22' '20' '18'] ['Sun' '13' '15' '19' '16']]
Удалить столбец из матрицы
Мы можем удалить столбец из матрицы, используя метод delete (). Мы должны указать индекс столбца, а также значение оси, которое равно 0 для строки и 1 для столбца.
from numpy import * m = array([['Mon',18,20,22,17],['Tue',11,18,21,18], ['Wed',15,21,20,19],['Thu',11,20,22,21], ['Fri',18,17,23,22],['Sat',12,22,20,18], ['Sun',13,15,19,16]]) m = delete(m,s_[2],1) print(m)
Когда приведенный выше код выполняется, он дает следующий результат –
[['Mon' '18' '22' '17'] ['Tue' '11' '21' '18'] ['Wed' '15' '20' '19'] ['Thu' '11' '22' '21'] ['Fri' '18' '23' '22'] ['Sat' '12' '20' '18'] ['Sun' '13' '19' '16']]
Обновить строку в матрице
Чтобы обновить значения в строке матрицы, мы просто переназначаем значения в индексе строки. В приведенном ниже примере все значения для данных четверга отмечены как ноль. Индекс для этой строки 3.
from numpy import * m = array([['Mon',18,20,22,17],['Tue',11,18,21,18], ['Wed',15,21,20,19],['Thu',11,20,22,21], ['Fri',18,17,23,22],['Sat',12,22,20,18], ['Sun',13,15,19,16]]) m[3] = ['Thu',0,0,0,0] print(m)
Когда приведенный выше код выполняется, он дает следующий результат –
numpy.delete#
Return a new array with sub-arrays along an axis deleted. For a one dimensional array, this returns those entries not returned by arr[obj].
Parameters : arr array_like
obj slice, int or array of ints
Indicate indices of sub-arrays to remove along the specified axis.
Changed in version 1.19.0: Boolean indices are now treated as a mask of elements to remove, rather than being cast to the integers 0 and 1.
The axis along which to delete the subarray defined by obj. If axis is None, obj is applied to the flattened array.
Returns : out ndarray
A copy of arr with the elements specified by obj removed. Note that delete does not occur in-place. If axis is None, out is a flattened array.
Insert elements into an array.
Append elements at the end of an array.
Often it is preferable to use a boolean mask. For example:
>>> arr = np.arange(12) + 1 >>> mask = np.ones(len(arr), dtype=bool) >>> mask[[0,2,4]] = False >>> result = arr[mask,. ]
Is equivalent to np.delete(arr, [0,2,4], axis=0) , but allows further use of mask.
>>> arr = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]]) >>> arr array([[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]]) >>> np.delete(arr, 1, 0) array([[ 1, 2, 3, 4], [ 9, 10, 11, 12]])
>>> np.delete(arr, np.s_[::2], 1) array([[ 2, 4], [ 6, 8], [10, 12]]) >>> np.delete(arr, [1,3,5], None) array([ 1, 3, 5, 7, 8, 9, 10, 11, 12])
Numpy delete() в Python: удаление подмассива из массива
Метод Python numpy.delete(array, object, axis = None) возвращает новый массив с удалением подмассивов вместе с указанной осью.
Что такое функция Numpy delete() в Python?
Функция Numpy delete() в Python используется для удаления любого подмассива из массива вместе с указанной осью. Функция numpy delete() возвращает новый массив после выполнения операции удаления. Для одномерного массива она просто удаляет объект, который мы хотим удалить.
Синтаксис
Параметры
Функция Numpy delete() принимает три параметра:
- array : это входной массив.
- object : это может быть любое число или подмассив.
- axis : указывает ось, которая должна быть удалена из массива.
Возвращаемое значение
Функция numpy delete() возвращает массив, удаляя подмассив, который был упомянут во время вызова функции.
Примеры программирования
Удаление элементов из одномерного массива
В этой программе мы сначала создали одномерный массив, используя функцию numpy arange(). Затем мы напечатали исходный массив. Затем мы инициализировали значение, которое необходимо удалить из массива 1D в объектной переменной и вызвали функцию delete(), минуя объект в функции.
Обратите внимание, что мы не упомянули ось, когда вызывали функцию delete(), потому что в массиве 1D есть только одна ось, поэтому по умолчанию ось должна быть None. Однако в объекте мы дали значение 3, поэтому он удалил 3 из исходного массива, а затем вернул новый массив, который напечатали.
Python Numpy: удаление элементов из 2D-массива
Используя метод NumPy np.delete(), вы можете удалить любую строку и столбец из массива NumPy ndarray. Мы также можем удалить элементы из 2D-массива, используя функцию numpy delete(). См. следующий код.
Удалить строку в NumPy
В этом руководстве будет показано, как удалить строку из многомерного массива NumPy в Python.
Удалите NumPy Row с помощью функции numpy.delete()
Если у нас есть многомерный массив NumPy и мы хотим удалить из него определенную строку, мы можем использовать функцию numpy.delete() . Функция numpy.delete() удаляет записи по определенному индексу вдоль указанной оси из массива NumPy. Функция numpy.delete() принимает в качестве аргументов массив, индекс, который нужно удалить, и ось, вдоль которой мы хотим удалить, и возвращает подмассив, в котором указанный индекс вместе с указанной осью удаляется. В следующем примере кода показано, как удалить строку из многомерного массива с помощью функции numpy.delete() .
import numpy as np array = np.array([[1,2,3],[4,5,6],[7,8,9]]) array = np.delete(array,(1), axis = 0) print(array)
Мы удалили вторую строку из двумерного массива NumPy array с помощью функции np.delete() в приведенном выше коде. Сначала мы создали двумерный массив NumPy array с помощью функции np.array() . Затем мы удалили записи с индексом 1 по оси 0 , которая является второй строкой array , и сохранили результат в array .
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.