1、使用numpy创建一个长度为100的随机整数数组,并将最大的值替换为-1 2、使用numpy随机生成一个2维矩阵,并将每一行元素减去此行的平均值。

1、使用numpy创建一个长度为100的随机整数数组,并将最大的值替换为-1

2、使用numpy随机生成一个2维矩阵,并将每一行元素减去此行的平均值。

您好,问题已解决,如有帮助还请采纳。
其中生成随机矩阵的时候,需要手动指定矩阵的形状和数值范围。而不能做到完全的形状也随机。

import numpy as np

# 1、使用numpy创建一个长度为100的随机整数数组,并将最大的值替换为-1

# 以创建一个数值范围在[0,100)的,长度为100的随机整数数组为例
n1 = np.random.randint(0, 100, 100)
m = n1.max()
for i in range(0, len(n1)):
    if n1[i] == m:
        n1[i] = m
print(n1)

# 2、使用numpy随机生成一个2维矩阵,并将每一行元素减去此行的平均值。
# 四行五列的随机二维矩阵为例
n2 = np.random.randint(0, 100, (4, 5))
n3 = n2.mean(axis=1).reshape(((len(n2), 1)))
n4 = n2-n3
# 输出结果
print(n4)

import numpy as np

np.random.randint(low[, high, size]) 返回随机的整数,位于半开区间 [low, high)

list_1=np.random.randint(100,size=100)
print("生成的随机数组:",list_1)
#替换
list_1[list_1==max(list_1)]=-1
print("替换后的随机数组:",list_1)

import numpy as np

def main():
    a = np.random.randint(0, 100, size=100)
    print(a)

    a[a.argmax()] = -1
    print(a)

    b = np.random.rand(3, 4)
    print(b)

    b -= np.average(b, axis=1, keepdims=True)
    print(b)

if __name__ == '__main__':
    main()

第一题

list=[]
for i in range(100):
    list.append(numpy.random.randint(1000))   #限制范围1000print(list)
list.sort()
list[99]=-1  #最大值替换

第二题