📜  NumPy 教程(1)

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

NumPy 教程

简介

NumPy 是一个面向数组编程的开源扩展程序库,支持大量的高维数组和矩阵运算。其扩展了 Python 编程语言,添加了支持大型、多维数组和矩阵的库,以及用于操作这些数组的函数和运算符。

安装

使用 pip 安装:

pip install numpy
创建数组

可以使用 NumPy 创建两种类型的数组:

一维数组
import numpy as np

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

输出:

[1 2 3]
二维数组
import numpy as np

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

输出:

[[1 2 3]
 [4 5 6]]
数组属性

可以使用以下属性获取数组的信息:

import numpy as np

a = np.array([1, 2, 3])
print(a.shape) # 返回 (3,),表示一个长度为 3 的一维数组
print(a.ndim) # 返回 1,表示一个一维数组
print(a.size) # 返回 3,表示数组中元素的个数

b = np.array([[1, 2, 3], [4, 5, 6]])
print(b.shape) # 返回 (2, 3),表示一个 2 行 3 列的二维数组
print(b.ndim) # 返回 2,表示一个二维数组
print(b.size) # 返回 6,表示数组中元素的个数
数组操作

可以使用以下方法操作数组:

修改数组形状

可以使用 reshape() 方法修改数组的形状:

import numpy as np

a = np.array([1, 2, 3, 4, 5, 6])
b = a.reshape((2, 3))
print(b)

输出:

[[1 2 3]
 [4 5 6]]
数组切片

可以使用切片操作获取数组中的子集:

import numpy as np

a = np.array([1, 2, 3, 4, 5, 6])
b = a[1:4]
print(b)

输出:

[2 3 4]
数组拼接

可以使用 vstack()hstack() 方法将数组进行垂直和水平拼接:

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.vstack((a, b))
print(c)

d = np.hstack((a, b))
print(d)

输出:

[[1 2 3]
 [4 5 6]]
[1 2 3 4 5 6]
数组运算

可以使用 NumPy 提供的函数对数组进行运算:

算术运算
import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

c = a + b
print(c)

d = a - b
print(d)

e = a * b
print(e)

f = b / a
print(f)

输出:

[5 7 9]
[-3 -3 -3]
[ 4 10 18]
[4.  2.5 2. ]
统计运算
import numpy as np

a = np.array([1, 2, 3, 4, 5, 6])
b = np.array([[1, 2, 3], [4, 5, 6]])

print(np.min(a)) # 输出最小值:1
print(np.max(a)) # 输出最大值:6
print(np.mean(a)) # 输出平均值:3.5

print(np.min(b, axis=0)) # 输出每列的最小值:[1 2 3]
print(np.max(b, axis=0)) # 输出每列的最大值:[4 5 6]
print(np.mean(b, axis=0)) # 输出每列的平均值:[2.5 3.5 4.5]
总结

NumPy 提供了很多方便的数组操作和运算,可以大大简化编程工作中对于数组的处理和计算。学好 NumPy 对于程序员的职业生涯将有很大的帮助。