,可以通过以下方式实现:
import numpy as np
def generate_array(num_rows, num_cols):
# 创建一个num_rows行num_cols列的二维数组,初始化为0
array = np.zeros((num_rows, num_cols))
# 生成num_rows-1个不重复的随机数,表示每行的分割点
split_points = np.random.choice(num_cols-1, num_rows-1, replace=False)
split_points.sort()
# 根据分割点,将每行的元素进行赋值
start_index = 0
for i in range(num_rows-1):
end_index = split_points[i] + 1
array[i, start_index:end_index] = 1
start_index = end_index
array[-1, start_index:] = 1
# 对每行的元素进行归一化处理
row_sums = array.sum(axis=1)
array /= row_sums[:, np.newaxis]
return array
# 生成3行4列的数组,行和等于1
array = generate_array(3, 4)
print(array)
企业创新在线学堂
云+社区沙龙online第6期[开源之道]
DBTalk
Elastic Meetup
腾讯技术创作特训营
企业创新在线学堂
serverless days
第四期Techo TVP开发者峰会
腾讯技术创作特训营第二季第4期
技术创作101训练营
领取专属 10元无门槛券
手把手带您无忧上云