📜  NumPy教程(1)

📅  最后修改于: 2023-12-03 15:18:03.970000             🧑  作者: Mango

NumPy教程

NumPy是一个Python库,用于支持大型多维数组和矩阵的数值计算。由于它的广泛应用,它已成为Python数据科学生态系统中的一个重要组成部分。本教程将介绍NumPy的基础知识和常用操作。

安装

在使用NumPy之前,您需要先安装它。您可以使用pip在命令行中安装NumPy。

pip install numpy
导入

在Python代码中使用NumPy需要先导入它。

import numpy as np

在大多数情况下,我们使用np作为NumPy的别名。

创建数组

使用NumPy创建数组的最简单方法是将Python列表传递给numpy.array()函数。

a = np.array([1, 2, 3])
print(a)

输出:

[1 2 3]

您也可以通过传递Python嵌套列表的列表来创建多维数组。

b = np.array([[1, 2], [3, 4]])
print(b)

输出:

[[1 2]
 [3 4]]

还有其他的创建数组的方法,例如numpy.zeros()numpy.ones()

c = np.zeros((3, 3))
print(c)

d = np.ones((2, 2))
print(d)

输出:

[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]

[[1. 1.]
 [1. 1.]]
数组属性

在创建数组后,访问它的属性以及对它进行操作变得非常有用。

a = np.array([1, 2, 3])
print(a.shape)  # 输出 (3, )
print(a.dtype)  # 输出 int64

b = np.array([[1, 2], [3, 4]])
print(b.shape)  # 输出 (2, 2)
print(b.size)   # 输出 4
数组操作

NumPy数组支持各种各样的操作,包括索引、切片、转置、连接和分割。

# 索引
a = np.array([1, 2, 3])
print(a[0])  # 输出 1

b = np.array([[1, 2], [3, 4]])
print(b[0, 1])  # 输出 2

# 切片
a = np.array([1, 2, 3, 4, 5])
print(a[1:4])  # 输出 [2 3 4]

b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(b[:2, 1:])  # 输出 [[2 3] [5 6]]

# 转置
a = np.array([[1, 2], [3, 4]])
print(a.T)

# 连接
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.concatenate((a, b)))

# 分割
a = np.array([1, 2, 3, 4, 5, 6])
print(np.split(a, 3))
数学函数

NumPy包括许多常用的数学函数,例如三角函数、指数函数、对数函数等。

# 三角函数
x = np.array([0, np.pi/2, np.pi])
print(np.sin(x))

# 指数函数和对数函数
x = np.array([1, 2, 3])
print(np.exp(x))
print(np.log(x))
线性代数

NumPy提供了许多函数来执行线性代数操作,例如矩阵乘法和求行列式。

# 矩阵乘法
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
print(np.dot(a, b))

# 求行列式
a = np.array([[1, 2], [3, 4]])
print(np.linalg.det(a))
总结

本教程对NumPy的基础知识和常用操作进行了概述。NumPy是一个强大的Python库,用于数值计算和数据科学任务。了解NumPy的基础知识是成为数据科学家的第一步。通过实践和不断学习,您可以进一步掌握NumPy和其他数据科学工具。