Numpy 2D Array 深入解析

Numpy 2D Array 深入解析

参考:numpy 2d array

Numpy 是一个强大的 Python 库,主要用于进行大规模的数值计算。它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具。本文将重点介绍 Numpy 中的二维数组(2D array),包括其创建、操作和应用的各个方面。

1. 创建二维数组

在 Numpy 中,二维数组可以通过多种方式创建。最直接的方法是使用 numpy.array() 函数,将列表的列表转换为二维数组。

示例代码 1:创建二维数组

import numpy as np

# 创建一个 2x3 的二维数组
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
print(array_2d)

Output:

Numpy 2D Array 深入解析

除了直接创建,还可以使用特定的函数来生成二维数组,如 zeros(), ones(), 和 full()

示例代码 2:使用 zeros 创建全零二维数组

import numpy as np

# 创建一个 3x4 的全零二维数组
zero_array = np.zeros((3, 4))
print(zero_array)

Output:

Numpy 2D Array 深入解析

示例代码 3:使用 ones 创建全一二维数组

import numpy as np

# 创建一个 2x5 的全一二维数组
ones_array = np.ones((2, 5))
print(ones_array)

Output:

Numpy 2D Array 深入解析

示例代码 4:使用 full 创建指定值的二维数组

import numpy as np

# 创建一个 3x3 的二维数组,所有元素都是 7
full_array = np.full((3, 3), 7)
print(full_array)

Output:

Numpy 2D Array 深入解析

2. 访问二维数组元素

访问二维数组的元素可以通过索引来完成。在 Numpy 中,可以使用方括号 [] 来访问数组中的元素。

示例代码 5:访问二维数组的元素

import numpy as np

array_2d = np.array([[1, 2, 3], [4, 5, 6]])
# 访问第一行第二列的元素
element = array_2d[0, 1]
print(element)

Output:

Numpy 2D Array 深入解析

3. 数组的切片

切片是 Python 和 Numpy 中常用的一个功能,它允许我们从数组中提取一部分元素。

示例代码 6:二维数组的行切片

import numpy as np

array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 获取第二行
row_slice = array_2d[1, :]
print(row_slice)

Output:

Numpy 2D Array 深入解析

示例代码 7:二维数组的列切片

import numpy as np

array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 获取第三列
column_slice = array_2d[:, 2]
print(column_slice)

Output:

Numpy 2D Array 深入解析

4. 数组的形状修改

Numpy 提供了多种方式来修改数组的形状,其中 reshape() 函数是最常用的。

示例代码 8:使用 reshape 修改数组形状

import numpy as np

array_1d = np.array([1, 2, 3, 4, 5, 6])
# 将一维数组转换为 2x3 的二维数组
array_2d = array_1d.reshape((2, 3))
print(array_2d)

Output:

Numpy 2D Array 深入解析

5. 数组的转置

转置是线性代数中的一个重要操作,它将数组的行转换为列,列转换为行。

示例代码 9:数组的转置

import numpy as np

array_2d = np.array([[1, 2, 3], [4, 5, 6]])
# 转置数组
transposed_array = array_2d.T
print(transposed_array)

Output:

Numpy 2D Array 深入解析

6. 数组的数学运算

Numpy 提供了一系列的数学函数来支持数组的运算,包括加法、减法、乘法和除法等。

示例代码 10:数组的加法

import numpy as np

array_2d_1 = np.array([[1, 2], [3, 4]])
array_2d_2 = np.array([[5, 6], [7, 8]])
# 数组相加
sum_array = np.add(array_2d_1, array_2d_2)
print(sum_array)

Output:

Numpy 2D Array 深入解析

示例代码 11:数组的点乘

import numpy as np

array_2d_1 = np.array([[1, 2], [3, 4]])
array_2d_2 = np.array([[5, 6], [7, 8]])
# 数组点乘
dot_product = np.dot(array_2d_1, array_2d_2)
print(dot_product)

Output:

Numpy 2D Array 深入解析

7. 数组的广播

广播是 Numpy 中一个强大的功能,它允许不同形状的数组进行数学运算。

示例代码 12:数组的广播

import numpy as np

array_2d = np.array([[1, 2], [3, 4]])
scalar = 5
# 数组与标量相乘
broadcasted_array = array_2d * scalar
print(broadcasted_array)

Output:

Numpy 2D Array 深入解析

8. 数组的堆叠

堆叠是将多个数组按照一定的顺序组合成一个新数组的过程。

示例代码 13:水平堆叠

import numpy as np

array_2d_1 = np.array([[1, 2], [3, 4]])
array_2d_2 = np.array([[5, 6], [7, 8]])
# 水平堆叠
hstack_array = np.hstack((array_2d_1, array_2d_2))
print(hstack_array)

Output:

Numpy 2D Array 深入解析

示例代码 14:垂直堆叠

import numpy as np

array_2d_1 = np.array([[1, 2], [3, 4]])
array_2d_2 = np.array([[5, 6], [7, 8]])
# 垂直堆叠
vstack_array = np.vstack((array_2d_1, array_2d_2))
print(vstack_array)

Output:

Numpy 2D Array 深入解析

9. 数组的分割

分割是将一个数组分成多个小数组的过程。

示例代码 15:水平分割

import numpy as np

array_2d = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
# 水平分割
hsplit_arrays = np.hsplit(array_2d, 2)
print(hsplit_arrays[0])
print(hsplit_arrays[1])

Output:

Numpy 2D Array 深入解析

示例代码 16:垂直分割

import numpy as np

array_2d = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]])
# 垂直分割
vsplit_arrays = np.vsplit(array_2d, 2)
print(vsplit_arrays[0])
print(vsplit_arrays[1])

Output:

Numpy 2D Array 深入解析

10. 数组的排序

Numpy 提供了 sort() 函数来对数组进行排序。

示例代码 17:对数组进行排序

import numpy as np

array_2d = np.array([[12, 11], [10, 9]])
# 对数组进行排序
sorted_array = np.sort(array_2d)
print(sorted_array)

Output:

Numpy 2D Array 深入解析

11. 数组的统计计算

Numpy 提供了一系列的函数来进行统计计算,如求和、求平均值、求最大值和最小值等。

示例代码 18:求和

import numpy as np

array_2d = np.array([[1, 2], [3, 4]])
# 求和
sum_value = np.sum(array_2d)
print(sum_value)

Output:

Numpy 2D Array 深入解析

示例代码 19:求平均值

import numpy as np

array_2d = np.array([[1, 2], [3, 4]])
# 求平均值
mean_value = np.mean(array_2d)
print(mean_value)

Output:

Numpy 2D Array 深入解析

示例代码 20:求最大值和最小值

import numpy as np

array_2d = np.array([[1, 2], [3, 4]])
# 求最大值和最小值
max_value = np.max(array_2d)
min_value = np.min(array_2d)
print(max_value)
print(min_value)

Output:

Numpy 2D Array 深入解析

以上就是关于 Numpy 二维数组的详细介绍,包括了创建、访问、切片、修改形状、转置、数学运算、广播、堆叠、分割、排序和统计计算等方面的内容。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程