Python 如何检索整行或整列的数组

Python 如何检索整行或整列的数组

Python提供了多种内建方法来检索数组的整行或整列。我们可以使用切片符号方法、Numpy库、列表推导和for循环来检索数组的整行或整列。在本文中,我们将探讨所有这些方法,并附带示例来检索数组的行或列。

方法1:使用切片符号

使用切片符号,我们可以从数组中提取一部分元素。我们使用“:”符号来指定子集的起始和结束索引。要检索整行或整列,我们需要将起始索引或结束索引指定为“:”。

语法

array_name[start_index:end_index]

在这里,array_name是数组的名称,start_index是您要提取的元素的起始索引,end_index是您要从列表中排除的最后一个元素的索引。

示例

在下面的示例中,我们使用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 函数接受三个参数-我们要从中检索行或列的数组,行或列的索引,以及我们要检索行或列的轴。如果我们要检索行,则指定axis=0,如果要检索列,则指定axis=1。

示例

在下面的示例中,我们使用了NumPy的”take”函数来检索数组的第二行。我们指定了indices=[1]以检索第二行,并通过axis=0来指示我们要检索的是一行。同样,我们可以使用NumPy的”take”函数来检索数组的整列。

# 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中提供了一种简洁的方法来创建列表。根据数组的大小,我们可以选择任何一种方法来检索数组的整行或整列。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程