第一次作业-Numpy练习

练习

1.创建一个边界值为1而内部都是0的数组,图例如下:
[提示:]解此题可以先把所有值都设置为1,这是大正方形;其次,把边界除外小正方形全部设置为0。
本题用到numpy的切片原理。多维数组同样遵循x[start:stop:step]的原理。
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
a=np.array([1.,1.,1.,1.,1.,1.,1.,1.,1.,1.]*10)
b=a.reshape(10,10)
b[1:9,1:9]=0 //表示b中行数从1-8行的列1-8行的值为0
  或
z=np.ones((10,10))
  z[1:-1,1:-1]=0

1.

2.在数组主对角线上创建一个值为1,2,3,4的5x5矩阵,图例如下:
[1 0 0 0]
[0 2 0 0]
[0 0 3 0]
[0 0 0 4]
array([1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4])
a.reshape(4,4)
或
np.diag(1+np.arange(4))    //对角线创建1234

 2.

3.数组归一化操作
生成一个随机的5*5矩阵,找出最大值和最小值,然后把最大值和最小值分别用1和0表示,其他值则介于在0和1中间。
a=np.random.random((5,5))
zmin,zmax=a.min(),a.max()
np.where(a == np.max(a))    //查询最大值位置
np.where(a == np.min(a))       //查询最小值位置
根据位置赋值1或0

3.

 

posted @ 2019-09-06 09:13  hidegoodgoodgood  阅读(240)  评论(0编辑  收藏  举报