关于numpy的基本使用
环境:pycharm2017 与 anaconda
一,导入numpy模块
import numpy as np
二,创建一个2行3列的矩阵
array = np.array([[1, 2, 3], [1, 2, 3]])
# 输出维度
print('number of dim:', array.ndim)
# 输出行数和列数
print('shape :', array.shape)
# 输出元素个数
print('size:', array.size)
运行显示
三,创建一个三维数组
arr = np.array([[[1,2],[3,4],[5,6]],[[7,8],[9,10],[10,11]]])
print(arr)
print(arr.ndim)
print(arr.dtype)
print(arr.shape)
print(arr.size)
运行显示
四,创建一个2行5列的矩阵,大小10以内
arr = np.arange(10).reshape(2,5)
print(arr)
五,创建一个三维数组
arr = np.arange(27).reshape(3,3,3)
print(arr)
六,随机创建3行2列的矩阵(重点使用)
arr = np.random.rand(3,2)
print(arr)
七,创建2行3列的0矩阵
arr =np.zeros((2,3))
print(arr)
八,创建2行3列的1矩阵
arr = np.ones((2,3))
print(arr)
九,找出矩阵中大于5的数字
arr = np.arange(10).reshape(2, 5)
print(arr)
print(np.where(arr > 5), arr, 0)
十,创建一个4行5列矩阵 数值1-10, 一共20个数字。 取某一行,某一列
arr = np.random.randint(1, 10, 20).reshape(4, 5)
创建一个4行5列矩阵 数值1-10 一共20个数字
print(arr)
print(arr[0]) # 取第一行数组
print(arr[0, 0]) # 取第1行第1列数字
print(arr[:, 0]) # 取第一列数组 (常用)
arr = np.random.randint(1, 10, 20).reshape(4, 5)
print(arr)
print(arr[0:4:3]) # 取第1行和第4行
print(arr[[0, 3]]) # 取第1行和第4行(常用)
arr = np.random.randint(1, 10, 20).reshape(4, 5)
print(arr)
print(arr[0:, 0:5:4]) # 第1列和第4列
print(arr[0:, [0, 4]]) # 第1列和第4列(常用)
arr = np.random.randint(1, 10, 20).reshape(4, 5)
print(arr)
print(arr[[1, 2]]) # 取第2行和第3行
print(arr[[1, 2], 1:3]) # 取第2,3行和 2,3列
十一,遍历矩阵
arr = np.random.randint(1, 10, 20).reshape(4, 5)
print(arr)
print(arr[0][0]) # 取第一行,第一列的数字
print(arr.shape[0])
for i in range(0,arr.shape[0]):
for j in range(arr.shape[1]):
print(arr[i][j], end=" ")
矩阵的数学操作
一,矩阵 每行每列相加
arr = np.random.randint(1, 10, 20).reshape(4, 5)
# 创建一个数值1-10,20个数字,4行5列的矩阵
brr = np.random.randint(1, 10, 20).reshape(4, 5)
# 创建一个数值1-10,20个数字,4行5列的矩阵
print(arr)
print(brr)
print(arr.sum()) # 求矩阵每个元素之和
print((arr > 5).sum()) # 大于5的个数
print(arr.sum(0)) # 每一列相加
print(arr.sum(1)) # 每一行相加 隐藏参数 0表示列,1表示行
print(arr+brr) # 两矩阵对应数字相加
二,矩阵相乘
arr = np.random.randint(1, 10, 20).reshape(4, 5)
brr = np.random.randint(1, 10, 20).reshape(5, 4)
print(arr)
print(brr)
print(np.dot(arr, brr))
三,矩阵转置
arr = np.random.randint(1, 10, 20).reshape(4, 5)
print(arr.T)
四,矩阵调整大小
a = np.arange(10).reshape(2, 5)
# 创建一个2行5列的矩阵
print(a)
a.resize(5, 2) # 将其转换成5行2列的矩阵
print(a)