📜  numpy 示例 - Python (1)

📅  最后修改于: 2023-12-03 14:44:49.021000             🧑  作者: Mango

Numpy 示例 - Python

简介

NumPy 是一个 Python 科学计算基础库,它提供了以下功能:

  • 多维数组对象,包括矩阵对象
  • 用于数组操作的各种函数(变形,排序,选择,数学运算,统计操作等等)
  • 用于数值计算的基本工具(线性代数,傅里叶变换,随机数生成等等)

如果你需要进行科学计算或者数据分析,NumPy 是一个必不可少的库。本文将介绍一些 NumPy 常用函数和用法,并提供代码示例。

安装

如果你没有安装 NumPy,可以使用以下命令进行安装:

pip install numpy
创建数组

NumPy 的核心是多维数组对象 numpy.ndarray。我们可以使用以下方法创建数组:

import numpy as np

a = np.array([1, 2, 3])    # 创建一维数组
print(a)

b = np.array([[1, 2], [3, 4]])   # 创建二维数组
print(b)

c = np.zeros((2, 2))    # 创建一个全为0的二维数组
print(c)

d = np.ones((3, 4))    # 创建一个全为1的三维数组
print(d)

e = np.arange(10)    # 创建一个从0到9的一维数组
print(e)

f = np.random.rand(2, 3)    # 创建一个随机二维数组,数组中的元素是在0到1之间随机生成的
print(f)

g = np.linspace(0, 1, 5)    # 创建一个从0到1之间等间隔的一维数组,数组的长度是5
print(g)

输出:

[1 2 3]
[[1 2]
 [3 4]]
[[0. 0.]
 [0. 0.]]
[[1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]]
[0 1 2 3 4 5 6 7 8 9]
[[0.35751416 0.95151298 0.89892457]
 [0.98665508 0.00187667 0.67236776]]
[0.   0.25 0.5  0.75 1.  ]

数组操作
索引和切片
a = np.array([1, 2, 3, 4, 5])
print(a[0])    # 输出第一个元素
print(a[1:3])    # 输出第二个到第四个元素

b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(b[0, 0])    # 输出第一个元素
print(b[1:, :-1])    # 输出第二行到最后一行,并去掉最后一列

输出:

1
[2 3]
1
[[4 5]
 [7 8]]
数组变形
a = np.array([1, 2, 3, 4, 5, 6])
print(a.reshape(2, 3))    # 将一维数组变成二维数组,形状为(2, 3)

b = np.arange(6).reshape(2, 3)
print(b.ravel())    # 将二维数组变成一维数组

输出:

[[1 2 3]
 [4 5 6]]
[0 1 2 3 4 5]
数组运算
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b)    # 数组加法
print(a * b)    # 数组乘法

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

输出:

[5 7 9]
[ 4 10 18]
[[19 22]
 [43 50]]
数据统计
a = np.array([[1, 2], [3, 4], [5, 6]])
print(a.sum())    # 所有元素之和
print(a.sum(axis=0))    # 每一列的元素之和
print(a.sum(axis=1))    # 每一行的元素之和

b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(b.mean())    # 所有元素的平均值
print(b.mean(axis=0))    # 每一列的平均值
print(b.mean(axis=1))    # 每一行的平均值

c = np.array([1, 2, 3, 4, 5])
print(c.min())    # 最小值
print(c.max())    # 最大值
print(c.argmin())    # 最小值的索引
print(c.argmax())    # 最大值的索引

输出:

21
[ 9 12]
[ 3  7 11]
5.0
[4. 5. 6.]
[2. 5. 8.]
1
5
0
4
总结

本文介绍了 NumPy 的基本知识和用法,包括创建数组、数组索引和切片、数组变形、数组运算和数据统计。希望本文可以帮助你更好地掌握 NumPy。