相关资料
100 练习
1-20
T5: 如何从命令行得到numpy中add函数的说明文档? (★☆☆)
import numpy as np
# np.info()函数
np.info(np.add)
T8:反转一个向量(第一个元素变为最后一个) (★☆☆)
z = np.arange(10,50)
print(z[: : -1]) # 反转一维向量
T9:创建一个 3x3 并且值从0到8的矩阵(★☆☆)
# 1. 设定值
x = np.arange(0,9)
# 2. 修改形状
x = x.reshape((3,3))
x
T15:创建一个二维数组,其中边界值为1,其余值为0 (★☆☆)
#15. 创建一个二维数组,其中边界值为1,其余值为0 (★☆☆)
y = np.ones((10,10))
y[1:-1,1:-1] = 0
print(y)
T16: 对于一个存在在数组,如何添加一个用0填充的边界? (★☆☆) np.pad
z = np.ones((5,5))
np.pad(z,(1,1),'constant',constant_values = (0,0))
T18: 创建一个 5x5的矩阵,并设置值1,2,3,4落在其对角线下方位置
# np.diag,可以获取或者设置对角线
z = np.diag(np.arange(1,5),k=-1)
T19: 创建一个8x8 的矩阵,并且设置成棋盘样式 (★☆☆)
#
y = np.zeros((8,8))
y[1::2,::2] = 1 # 行,从下标1开始,选择1,3,5……行;列,从下标0开始,选择0,2,4,……列
y[::2,1::2] = 1 # 反过来
y
总结一
- 创建矩阵相关
- 常规向量创建,参数为矩阵的形状:np.zeros、np.random.random、np.ones
- 创建矩阵的值在指定范围内:np.range(min,max+1)
- 数组转为矩阵:np.array(list)
- 指定对角线值的矩阵:np.diag()
- 创建单位矩阵:np.eye(size)
- 矩阵属性相关
- 基本:x.size,x.max(),x.min(),x.mean()
- x.reshape() 修改矩阵的形状
- np.nonzero(矩阵) : 寻找非0值的位置
- np.diag():和矩阵对角线相关的函数
- np.unravel_index() : 查询第x个元素在特定形状矩阵下的索引。
- 索引访问相关
- 翻转向量:x[::-1]
- 二维访问:x[1::2,::2],表示行从索引为1的位置开始,直到最后,步长为2;列从索引为0的位置开始,直到最后,步长为2。