基于PyTorch深度学习实战入门系列-(2)Numpy基础上
-
导入Numpy模块
import numpy as np
-
创建数组(一维数组、小数数组、二维数组)
# 创建一个一维数组 n1 = np.array([1, 2, 3]) # 创建一个含有小数的一维数组 n2 = np.array([0.1, 0.2, 0.3]) # 创建一个简单的二维数组 n3 = np.array([[1, 2], [3, 4]]) print("一维数组:", n1) print("小数数组:", n2) print("二维数组:\n", n3)
输出:
-
将列表转换为数组并指定类型
list = [1, 2, 3] # 创建浮点型数组 n1 = np.array(list, dtype=float) print("数组:", n1) print("数组类型:", n1.dtype) print("数组内第一个元素类型:", type(n1[0]))
-
复制数组(需要使用copy参数)
不使用时(其实是浅拷贝)更改n2数据n1同时改变了
n1 = np.array([1, 2, 3]) n2 = n1 n2[1] = 5 print(n1) print(n2)
使用copy参数
n1 = np.array([1, 2, 3]) n2 = np.array(n1, copy=True) n2[0] = 5 print(n1) print(n2)
-
修改数组维数
n1 = [1, 2, 3] # 转换为三维数组 n2 = np.array(n1, ndmin=3) print(n2) print(n2.shape)
-
创建制定形状未初始化的数组
n = np.empty([2,3]) print(n)
-
创建以0填充的数组
n = np.zeros([2, 3]) print(n)
-
创建以1填充的数组
n = np.ones([2, 3]) print(n)
-
创建指定数值填充的数组
n = np.full((3, 3), 8) print(n)
-
数组的加减乘除法运算
n1 = np.array([1, 2]) n2 = np.array([3, 4]) print(n1 + n2) print(n1 - n2) print(n1 * n2) print(n1 / n2)
-
数组的reshape操作
n = np.array(['唧', '唧', '复', '唧', '唧', '木', '兰', '当', '户', '织', '不', '闻', '机', '杼', '声', '惟', '闻', '女', '叹','息']) n1 = n.reshape(4, 5) print(n1)