Поиск по сайту:

Как получить всю строку или столбец массива в Python?


Python предоставляет различные встроенные методы для получения всей строки или столбца массива. Мы можем использовать метод нотации Slice, библиотеку Numpy, понимание списка и цикл for для получения всей строки или столбца массива. В этой статье мы рассмотрим все методы на примерах для получения строки или столбца массива.

Метод 1: использование обозначения срезов

Используя нотацию среза, мы извлекаем подмножество элементов из массива. Мы используем обозначение «:» для указания начального и конечного индекса подмножества. Чтобы получить всю строку или столбец, нам нужно указать начальный или конечный индекс как «:».

Синтаксис

array_name[start_index:end_index]

Здесь имя_массива — это имя массива, а начальный_индекс — это начальный индекс элемента, который вы хотите извлечь, а конечный_индекс — это индекс последнего элемента, который вы хотите исключить из списка.

Пример

В приведенном ниже примере мы создали 2D-массив, используя библиотеку NumPy. Затем мы получили вторую строку и второй столбец массива, используя нотацию среза. Мы указали «:» для начального индекса, чтобы получить всю строку, и «:» для конечного индекса, чтобы получить весь столбец.

# Retrieving an entire row of an array using slice notation
import numpy as np

# Create a 2D array
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# Retrieve the second row
row = arr[1, :]

print("Entire Row:")
print(row)

# Retrieve the second column
col = arr[:, 1]

print("Entire Column:")
print(col)

Выход

Entire Row:
[4 5 6]
Entire Column:
[2 5 8]

Метод 2: использование массива Numpy

Numpy — это библиотека Python, которая в основном используется для работы с массивами. Он предоставляет множество функций для создания, управления и выполнения операций с массивами. Numpy предоставляет функцию take для получения всей строки или столбца, если это массив в Python.

Синтаксис

numpy.take(array, indices, axis= None)

Здесь функция take принимает три аргумента — массив, из которого мы хотим получить строку или столбец, индексы строки или столбца и ось, по которой мы хотим получить строку или столбец. Если мы хотим получить строку, мы указываем ось=0, а если мы хотим получить столбец, мы указываем ось=1.

Пример

В приведенном ниже примере мы использовали функцию «take» NumPy для получения второй строки массива. Мы указали index=[1] для получения второй строки и ось=0, чтобы указать, что мы хотим получить строку. Точно так же мы можем использовать функцию «take» NumPy для получения всего столбца массива.

# Retrieving an entire row of an array using NumPy
import numpy as np

# Create a 2D array
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# Retrieve the second row using NumPy
row = np.take(arr, indices=[1], axis=0)

print("Entire Row:")
print(row)

# Retrieve the second column using NumPy
col = np.take(arr, indices=[1], axis=1)

print("Entire Column:")
print(col)

Выход

Entire Row:
[[4 5 6]]
Entire Column:
[[2]
 [5]
 [8]]

Метод 3: использование понимания списка

Мы можем получить всю строку или столбец массива, используя понимание списка, просматривая строки и столбцы массива и добавляя элемент в список. Понимание списка — это более краткий способ создания списка в Python.

Синтаксис

newList = [expression(element) for element in oldList if condition]

Здесь выражение — это цикл по элементам в старом списке и проверка истинности или ложности условия для каждого элемента в списке. Если условие истинно, то элемент добавляется в новый список.

Пример

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

# Retrieving an entire row of an array using list comprehension
import numpy as np

# Create a 2D array
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# Retrieve the second row
row = [arr[1, j] for j in range(arr.shape[1])]

print("Entire Row:")
print(row)

# Retrieve the second column
col = [arr[i, 1] for i in range(arr.shape[0])]

print("Entire Column:")
print(col)

Выход

Entire Row:
[4, 5, 6]
Entire Column:
[2, 5, 8]

Метод 4: использование цикла for

Чтобы получить всю строку или столбец массива, мы можем просто перебрать строки и столбцы массива и сохранить элемент в списке.

Синтаксис

For i in range (array)

Здесь i — индекс, который используется для перебора строки и столбца массива.

Пример

В приведенном ниже примере мы использовали цикл for для получения второй строки и второго столбца массива. Мы прошлись по строкам и столбцам массива и сохранили элементы в списке.

# Retrieving an entire row of an array using for loop
import numpy as np

# Create a 2D array
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# Retrieve the second row
row = []
for j in range(arr.shape[1]):
   row.append(arr[1, j])

print("Entire Row:")
print(row)

# Retrieve the second column
col = []
for i in range(arr.shape[0]):
   col.append(arr[i, 1])

print("Entire Column:")
print(col)

Выход

Entire Row:
[4, 5, 6]
Entire Column:
[2, 5, 8]

Заключение

В этой статье мы обсудили, как мы можем получить всю строку или столбец массива, используя такие методы, как нотация среза, использование массива numpy, понимание списка и цикл for. В нотации среза используется обозначение «:» для получения всей строки или столбца массива. Понимание списков обеспечивает краткий способ создания списка в Python. В зависимости от размера массива мы можем выбрать любой из методов для получения всей строки или столбца массива.

Статьи по данной тематике: