python第一次作业--Numpy

# 1.创建一个边界值为1而内部都是0的数组,图例如下:
# [提示:]解此题可以先把所有值都设置为1,这是大正方形;其次,把边界除外小正方形全部设置为0。
# 本题用到numpy的切片原理。多维数组同样遵循x[start:stop:step]的原理。
import numpy as np
arr = np.ones((10, 10))
arr[1:9, 1:9] = 0    # 对不同维度的操作用,号分开即可
print(arr)

 

# 2.在数组主对角线上创建一个值为1,2,3,4的5x5矩阵
arr2 = np.zeros((5, 5), int)  # 第二个参数确定参数的数据类型
k = 1
for i in range(len(arr2)):
    for j in range(len(arr2[i])):
        if i == j:
            arr2[i][j] = k
            k += 1
print(arr2)

 

# 3.数组归一化操作
# 生成一个随机的5*5矩阵,找出最大值和最小值,然后把最大值和最小值分别用1和0表示,其他值则介于在0和1中间。
matrix = np.random.rand(5, 5)
max_index = np.argmax(matrix)
min_index = np.argmin(matrix)
print('max', max_index)
print('min', min_index)
print(matrix)
matrix[max_index // 5][max_index % 5] = 1
matrix[min_index // 5][min_index % 5] = 0
print(matrix)

posted @ 2019-09-20 14:06  林间有风(caoling)  阅读(399)  评论(0)    收藏  举报