Python 教程

21.1 NumPy数组(ndarray)的创建与属性

NumPy数组(ndarray)的创建与属性:Python科学计算入门教程

Python 教程

本教程详细讲解NumPy数组(ndarray)的创建方法和核心属性,包括简单示例和解释,适合Python初学者快速掌握科学计算基础。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

NumPy数组(ndarray)的创建与属性

什么是NumPy和ndarray?

NumPy(Numerical Python)是Python中用于科学计算的核心库。它提供了高性能的多维数组对象,称为ndarray,以及处理这些数组的工具。ndarray是NumPy的基础,让数值计算变得高效简单。

创建NumPy数组

有多种方法可以创建NumPy数组,适合不同场景。以下是常见方法,每个都附带简单示例。

1. 使用numpy.array()函数

这是最直接的方法,可以将Python列表或元组转换为NumPy数组。

import numpy as np  # 导入NumPy库

# 创建一个一维数组
arr1 = np.array([1, 2, 3, 4, 5])
print("一维数组:", arr1)

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

2. 使用其他内置创建函数

NumPy提供了特殊函数来快速创建常用数组,非常适合初始化数据。

# 创建全零数组
zeros_arr = np.zeros((2, 3))  # 2行3列的全零数组
print("全零数组:\n", zeros_arr)

# 创建全一数组
ones_arr = np.ones((3, 4))  # 3行4列的全一数组
print("全一数组:\n", ones_arr)

# 创建序列数组
seq_arr = np.arange(0, 10, 2)  # 从0到10,步长为2
print("序列数组:", seq_arr)

# 创建等间隔数组
lin_arr = np.linspace(0, 1, 5)  # 0到1之间5个等分点
print("等间隔数组:", lin_arr)

# 创建单位矩阵
eye_arr = np.eye(3)  # 3x3单位矩阵
print("单位矩阵:\n", eye_arr)

# 创建随机数组
rand_arr = np.random.rand(2, 2)  # 2x2的随机数数组,值在0到1之间
print("随机数组:\n", rand_arr)

NumPy数组的属性

创建数组后,了解其属性可以帮助你更好地管理和操作数据。以下是核心属性,每个都附有解释和示例。

常用属性

# 示例数组
arr = np.array([[1, 2, 3], [4, 5, 6]])

# shape:表示数组的形状(维度大小)
print("Shape(形状):", arr.shape)  # 输出: (2, 3),表示2行3列

# dtype:表示数组元素的数据类型
print("Data type(数据类型):", arr.dtype)  # 输出: int64(默认整数类型)

# size:数组中元素的总数
print("Size(元素总数):", arr.size)  # 输出: 6,因为2*3=6个元素

# ndim:数组的维数
print("Number of dimensions(维数):", arr.ndim)  # 输出: 2,因为它是二维数组

# itemsize:每个元素占用的字节数
print("Item size(元素字节大小):", arr.itemsize)  # 输出: 8(对于int64,每个元素8字节)

# nbytes:数组总字节数
print("Total bytes(总字节数):", arr.nbytes)  # 输出: 48,因为6个元素 * 8字节 = 48字节

其他属性

# T:转置数组(交换行和列)
transposed_arr = arr.T
print("Transposed array(转置数组):\n", transposed_arr)

# 对于复数数组:real和imag属性
complex_arr = np.array([1+2j, 3+4j])  # 创建复数数组
print("Real part(实部):", complex_arr.real)  # 输出: [1. 3.]
print("Imaginary part(虚部):", complex_arr.imag)  # 输出: [2. 4.]

总结

通过本教程,你应该掌握了NumPy数组(ndarray)的基本创建方法和核心属性。这是学习Python科学计算的第一步,后续可以探索更多数组操作和数学函数。练习这些示例,逐步提升技能!

如果需要进一步学习,建议查阅NumPy官方文档或尝试实际数据分析项目。

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包