NumPy是一个用于数值计算的Python库,其中的核心数据结构是
ndarray
,代表多维数组。NumPy提供了多种方法来创建
ndarray
对象,包括使用
array()
函数、
zeros()
和
ones()
函数、
EMPty()
函数,以及一些特殊函数。
使用
array()
函数是最常用的方法之一,它可以将Python列表、元组甚至其他数组转换为
ndarray
对象。语法为
ndarray = np.array(data, dtype=dtype, order=order)
,其中
data
可以是Python列表、元组或其他数组,
dtype
指定数组元素的数据类型,默认为
float64
,
order
指定数组元素的内存存储顺序,默认为
C
顺序(行优先)。
示例:
import numpy as np
# 创建一维数组
arr1 = np.array([1, 2, 3, 4, 5])
# 创建二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
# 创建三维数组
arr3 = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(arr1)
print(arr2)
print(arr3)
输出:
[1 2 3 4 5]
[[1 2 3]
[4 5 6]]
[[[ 1 2 3]
[ 4 5 6]]
[[ 7 8 9]
[10 11 12]]]
另外,
zeros()
和
ones()
函数可以创建指定形状和数据类型的全零或全一数组。而
empty()
函数可以创建指定形状的空数组,但数组元素的值未定义。
NumPy还提供了一些特殊函数来创建特定类型的数组,例如:
arange()
、
linspace()
、
eye()
和
diag()
等。
在NumPy中,数组的索引从0开始。一维数组中的元素可以使用方括号
[]
并指定元素的索引进行访问。二维数组中的元素可以使用逗号分隔的两个索引:第一个索引表示行,第二个索引表示列。而对于三维及更高维数组,可以使用逗号分隔的多个索引来访问元素,每个索引表示相应维度的索引。NumPy还支持负索引,从数组的末尾开始计数。
示例:
import numpy as np
# 创建一维数组
arr = np.array([1, 2, 3, 4, 5])
# 访问第一个元素
print(arr[0]) # 输出:1
# 创建二维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 访问第一行第一个元素
print(arr[0, 0]) # 输出:1
# 创建三维数组
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
# 访问第一个数组的第二个数组的第三个元素
print(arr[0, 1, 2]) # 输出:6
练习:创建一个5x5的二维数组
arr
,并打印以下元素:第一行的第一个元素、第二行的最后一个元素、第三列的第一个元素、第三个元素。