NumPy 是 Python 的一个扩展库,主要用于数组和矩阵的操作。相较于传统的 Python,NumPy 提供了更高的运行效率和更快的速度,是处理数据不可或缺的工具。
本 NumPy 快速入门系列分为四篇文章,涵盖了大部分基础内容。每篇文章的阅读时间不长,但信息量丰富。建议亲自动手编写代码,以便更好地理解和掌握。
本文将介绍如何轻松理解并安装 NumPy,掌握其基本属性,以及学会创建不同类型和形状的数组。具体来说,我们将涵盖以下内容: - 安装 NumPy 并确认安装成功。 - 掌握 NumPy 数组的基本属性,如数据类型、形状和尺寸。 - 学习多种创建数组的方法,包括使用特殊函数和转换其他数据类型。
NumPy 可以通过两种简单的方法安装:
- 使用 pip 命令安装:pip install numpy
- 使用 conda 命令安装:conda install numpy
这两种方法适用于 Windows、Linux 和 Mac 系统。
示例:
python
import numpy as np
print(np.eye(4))
这段代码将生成一个 4x4 的单位矩阵,从而验证 NumPy 是否安装成功。
NumPy 处理的主要对象是 ndarray
(多维数组),这是一种与 Python 列表不同的数据类型。虽然它们看起来有些相似,但功能和性能上有显著差异。
例如,我们可以将一个列表转换为 NumPy 数组:
python
import numpy as np
my_list = [1, 2, 3]
arr = np.array(my_list)
print(type(my_list))
print(type(arr))
运行结果:
python
<class 'list'>
<class 'numpy.ndarray'>
可以看出,arr
的数据类型是 ndarray
。
NumPy 数组比 Python 列表更高效,特别是在处理大型数据集时。NumPy 采用了优化的算法,使得其在执行算术、统计和线性代数运算时速度更快。
接下来,我们将介绍一些常见的 NumPy 数组类型:
python
a = np.array([1, 2, 3])
b = np.array([[1, 2], [3, 4]])
c = np.array([1, 2, 3], dtype=complex)
print(a)
print(b)
print(c)
运行结果:
python
[1 2 3]
[[1 2]
[3 4]]
[1.+0.j 2.+0.j 3.+0.j]
这些数组分别是一维、二维和复数类型的数组。
我们将介绍几种常见的 NumPy 数组属性: - 数据类型 (dtype):数组中的元素类型。 - 元素个数 (size):数组中元素的数量。 - 维度 (ndim):数组的维度数量。 - 形状 (shape):数组各维度的大小。 - 实部和虚部 (real, imag):复数数组的实部和虚部。
例如,我们可以查看一个数组的这些属性:
python
b = np.array([[1.1, 2], [3.1, 4.2]])
c = np.array([1, 2, 3], dtype=complex)
print(b.ndim, b.shape, b.size)
print(c.real, c.imag)
运行结果:
python
2 (2, 2) 4
[1. 2. 3.] [0. 0. 0.]
NumPy 提供了多种创建数组的方法:
1. 直接使用 np.array()
函数创建。
2. 使用特殊函数,如 np.zeros()
, np.ones()
, np.arange()
, np.linspace()
。
3. 将其他数据类型转换为 NumPy 数组。
np.zeros()
:创建全零数组。np.ones()
:创建全一数组。np.arange()
:创建指定范围的数组。np.linspace()
:创建等间隔的数组。示例代码:
python
e = np.array([1, 2, 3], dtype=float)
f = np.zeros((3, 2), dtype=int)
g = np.ones((1, 3))
print(e)
print(f)
print(g)
运行结果:
python
[1. 2. 3.]
[[0 0]
[0 0]
[0 0]]
[[1. 1. 1.]]
通过本文,我们了解了如何安装和使用 NumPy,掌握了 NumPy 数组的基本属性,以及如何创建各种类型的数组。希望这些知识能够帮助你在数据处理中更加得心应手。