我们已经知道,NumPy是Python中用于科学计算的一个基础库,它提供了一种高效的多维数组对象,使我们可以方便地存储和处理大型的数据集。
而在NumPy中,数组更是核心中的核心,所有的科学计算都是围绕着数组进行的,所以学习NumPy中的数组是非常重要的。
在NumPy中,数组被称为ndarray(N-dimensional array),它是一个由同种数据类型元素组成的多维数组,而且每个维度称为轴(axis),轴的数量称为秩(rank)。
NumPy中的数组有以下特性:
- 数据类型:NumPy数组中的所有元素都必须是相同的数据类型,这是数组的一个重要特性。例如,数组可以是整数、浮点数或复数类型的。
- 大小固定:NumPy数组的大小在创建时就已经固定,无法在运行时改变。这与Python的内置列表不同,可以通过添加或删除元素动态调整大小。
- 索引:NumPy数组中的元素可以使用索引来访问,索引从0开始。对于二维数组,可以使用行索引和列索引来访问元素。
- 形状:NumPy数组的形状是指各个轴的长度,可以使用数组的shape属性来获取。例如,一个形状为(3, 4)的数组有3行和4列。
- 广播(broadcasting):NumPy数组支持广播机制,即在某些情况下,两个形状不同的数组可以进行算术运算,NumPy会自动将较小的数组广播(复制)到较大数组的形状,使它们的形状兼容。
下面是一个创建NumPy数组的一些方法:
import numpy as np
# 通过列表创建一维数组
a = np.array([1, 2, 3])
print(a) # 输出 [1 2 3]
# 通过列表创建二维数组
b = np.array([[1, 2, 3], [4, 5, 6]])
print(b)
"""
输出:
[[1 2 3]
[4 5 6]]
"""
# 创建形状为(2, 3)的数组,元素都为0
c = np.zeros((2, 3))
print(c)
"""
输出:
[[0. 0. 0.]
[0. 0. 0.]]
"""
# 创建形状为(3, 3)的单位矩阵
d = np.eye(3)
print(d)
"""
输出:
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
"""
# 创建形状为(4,)的数组,元素从0到3
e = np.arange(4)
print(e) # 输出 [0 1 2 3]
NumPy数组是一种非常强大的数据结构,可以用于表示和处理各种类型的数据。掌握NumPy数组的定义和基本性质是学习NumPy的基础,也是我们后续进行数据分析和机器学习的基本知识。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Numpy的核心:数组的定义与特性 - Python技术站