分享
Python Numpy 入门
输入“/”快速插入内容
🐍
Python Numpy 入门
用户1672
用户2988
2024年5月21日修改
Numpy 简介
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
•
一个强大的N维数组对象 ndarray
•
广播功能函数
•
整合 C/C++/Fortran 代码的工具
•
线性代数、傅里叶变换、随机数生成等功能
在安装好python3,有pip后,可一行命令直接安装numpy
pip install numpy
Numpy 基本操作
0. 库导入
在导入numpy包时,可以这样写python中的import函数:
代码块
Python
import
numpy
as
np
为了更好的代码可读性,一般在
import
时加以一个别名
np
。这是一个被广泛采用的约定,这样您的代码对所有人都更可读。因此,建议在导入时始终使用
import
numpy
as
np
。
1.
nparray对象
数组是下标(index)和值(value)组成的序对的集合。在数组中,每个有定义的下标都与一个值对应,这个值称作数组元素。
在深度学习中,大量的数据是由多维数组存储的。nparray就是一个存储多维数据的解决方法,也是numpy中最重要的一个概念。
1.1 创建第一个nparray
我们可以用
np.array()
函数初始化一个n维数组:只需传入一个或多个python列表即可。
代码块
Python
import numpy as np
# 一维
a = np.array([1,2,3])
print (a) # [1,2,3]
# 多于一个维度,这里以二维举例
b = np.array([[1, 2], [3, 4]])
print (b)
# [[1 2]
# [3 4]]
当然,您也可以使用
np.asarray()
从python列表、元组获得nparray;
甚至从torch.tensor中转换到nparray!
代码块
Python
import numpy as np
x = [1,2,3]
y = (1,2,3)
z = torch.tensor([1, 2, 3])
a = np.asarray(x) # 从列表转换到 nparray
b = np.asarray(y) # 从元组转换到 nparray
c = z.cpu().numpy() # numpy仅支持cpu,因而如果tensor在gpu需先转至cpu。
print(a, b, c)
# a/b/c的输出都是
# [1,2,3]
1.2 创建特殊数组(全零、全一等)
•
numpy.empty 函数:创建指定形状的数组,
不初始化。
•
numpy.zeros 函数:创建指定形状的数组,
数组元素以 0 来填充。