陈贵来cgl

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

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))    #创建一个10行10列且元素全为1的数组
a[1:9,1:9]=0                #将数组第2行到第9行,第2列到第9列的元素全部修改成0
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
a = np.zeros((5,5),int)   #创建一个五行五列数据类型为int且元素为0的数组
for i in range (4):
    for j in range(4):
        if(i==j):
            a[i][j]=j+1
print(a)

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

import numpy as np
a=np.random.rand(5,5)  #随机创建一个五行五列的数组;
print(a)
a[a==a.max()]=1   #将数组中的最大元素赋值为1;
a[a==a.min()]=0   #将数组中的最小元素赋值为0;
print(a)

运行结果:

 

posted on 2019-09-23 14:40  陈贵来cgl  阅读(154)  评论(0)    收藏  举报