创建 NumPy 数组
NumPy 是 Python 的一个非常重要的科学计算库,它提供了大量的数学函数处理以及高效的数组操作功能。NumPy 数组,也称为 ndarray,是库中最核心的数据结构。本文将详细介绍如何在 Python 中使用 NumPy 创建数组,包括不同的创建方法以及一些常见的操作和技巧。
1. 导入 NumPy 库
在开始创建数组之前,我们首先需要导入 NumPy 库。如果你的环境中还没有安装 NumPy,可以使用 pip 命令安装:
pip install numpy
导入 NumPy 库的代码如下:
import numpy as np
2. 使用 np.array
创建数组
np.array
函数可以从常规的 Python 列表或元组中创建数组。这是创建 NumPy 数组最直接的方法。
示例代码 1
import numpy as np
data = [1, 2, 3, 4, 5]
array = np.array(data)
print(array)
Output:
示例代码 2
import numpy as np
data = [[1, 2, 3], [4, 5, 6]]
array = np.array(data)
print(array)
Output:
3. 使用 np.zeros
创建全零数组
np.zeros
可以创建一个填充了零的数组。
示例代码 3
import numpy as np
array = np.zeros((3, 4))
print(array)
Output:
4. 使用 np.ones
创建全一数组
与 np.zeros
类似,np.ones
创建一个填充了 1 的数组。
示例代码 4
import numpy as np
array = np.ones((3, 4))
print(array)
Output:
5. 使用 np.arange
创建数组
np.arange
类似于 Python 的 range
函数,但返回的是数组。
示例代码 5
import numpy as np
array = np.arange(10)
print(array)
Output:
示例代码 6
import numpy as np
array = np.arange(1, 11)
print(array)
Output:
示例代码 7
import numpy as np
array = np.arange(1, 11, 2)
print(array)
Output:
6. 使用 np.linspace
创建线性间隔元素数组
np.linspace
在指定的区间内创建均匀间隔的数组。
示例代码 8
import numpy as np
array = np.linspace(0, 1, 5)
print(array)
Output:
7. 使用 np.eye
创建单位矩阵
np.eye
用于创建一个二维的单位矩阵(对角线为 1,其他为 0)。
示例代码 9
import numpy as np
array = np.eye(4)
print(array)
Output:
8. 使用 np.random
生成随机数组
NumPy 提供了多种生成随机数的方法,这些方法都在 np.random
模块下。
示例代码 10
import numpy as np
array = np.random.rand(3, 4)
print(array)
Output:
示例代码 11
import numpy as np
array = np.random.randint(1, 100, (3, 4))
print(array)
Output:
9. 更改数组形状
使用 reshape
方法可以在不改变数组数据的前提下,改变数组的形状。
示例代码 12
import numpy as np
data = np.arange(12)
array = data.reshape((3, 4))
print(array)
Output:
10. 数组的索引和切片
NumPy 数组支持多种索引方式。
示例代码 13
import numpy as np
array = np.arange(10)
sub_array = array[5]
print(sub_array)
Output:
示例代码 14
import numpy as np
array = np.arange(10)
sub_array = array[2:5]
print(sub_array)
Output:
11. 数组的广播
广播是 NumPy 中一种强大的机制,它允许 numpy 在执行算术运算时使用不同形状的数组。
示例代码 15
import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([[0], [1], [2]])
broadcasted_array = array1 + array2
print(broadcasted_array)
Output:
12. 数组的转置和轴对换
使用 transpose
方法或 T
属性可以获得数组的转置。
示例代码 16
import numpy as np
array = np.arange(12).reshape((3, 4))
transposed_array = array.T
print(transposed_array)
Output:
13. 数组的数学运算
NumPy 提供了一系列的数学函数,可以直接在数组上进行操作。
示例代码 17
import numpy as np
array = np.arange(1, 6)
sum = np.sum(array)
print(sum)
Output:
示例代码 18
import numpy as np
array = np.arange(1, 6)
mean = np.mean(array)
print(mean)
Output:
14. 数组的合并和分割
可以使用 np.concatenate
, np.vstack
, 和 np.hstack
等函数合并数组,使用 np.split
分割数组。
示例代码 19
import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
concatenated_array = np.concatenate([array1, array2])
print(concatenated_array)
Output:
示例代码 20
import numpy as np
array = np.arange(9)
split_arrays = np.split(array, 3)
print(split_arrays)
Output:
以上就是 NumPy 创建数组的基本方法及其一些常用操作。通过这些示例代码,你可以开始在你的数据处理或科学计算项目中使用 NumPy 进行数组操作了。