第1次作业-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.]

import numpy as np
a = np.ones((10,10))
a[1:,[1,2,3,4,5,6,7,8]] = 0
a[9:,[1,2,3,4,5,6,7,8]]=1
print(a)

2.在数组主对角线上创建一个值为1,2,3,4的5x5矩阵,图例如下:


[1 0 0 0]
[0 2 0 0]
[0 0 3 0]

[0 0 0 4]

import numpy as np
b = np.zeros((5,5))
for i in range(4):
    b[i,i]=i+1
print(b)

3.数组归一化操作
生成一个随机的5*5矩阵,找出最大值和最小值,然后把最大值和最小值分别用1和0表示,其他值则介于在0和1中间。

import numpy as np
def MaxMinNormalization(x,Max,Min):
    x=(x-Min)/(Max - Min);
    return x
c = np.random.rand(5,5)
Max=np.max(c)
Min=np.min(c)
for i in range(0,5):
    for j in range(0,5):
        MaxMinNormalization(c[i,j],Max,Min)
print(c)

  

 

posted on 2019-09-20 15:40  robot9  阅读(141)  评论(0编辑  收藏  举报

导航