gpt4 book ai didi

python - 填充 numpy 数组

转载 作者:太空宇宙 更新时间:2023-11-04 07:45:55 24 4
gpt4 key购买 nike

我正在创建一个 10x5 的 numpy 零数组,我希望用 1-10 的随机数字列表填充每一列。但是我有一个问题,因为它只填充第一列并且 list.pop() 不起作用而且我认为我的嵌套 for 循环即使我尝试以不同的顺序使用行和首选项。任何帮助将不胜感激。

i = 0
j = 0

for column in matrix:

preferences = [1,2,3,4,5,6,7,8,9,10]

random.shuffle(preferences)

for number in preferences:

for row in matrix:
chosen = preferences.pop(0)
matrix[j,i] = chosen
j+= 1

i+= 1

最佳答案

由于您在示例中使用了 pop,我认为您可能不希望在每一列中重复。 numpy.random.shuffle 随机播放元素。

>>> M = N.repeat(N.arange(1,11), 5).reshape(10,-1)
>>> M
array([[ 1, 1, 1, 1, 1],
[ 2, 2, 2, 2, 2],
[ 3, 3, 3, 3, 3],
[ 4, 4, 4, 4, 4],
[ 5, 5, 5, 5, 5],
[ 6, 6, 6, 6, 6],
[ 7, 7, 7, 7, 7],
[ 8, 8, 8, 8, 8],
[ 9, 9, 9, 9, 9],
[10, 10, 10, 10, 10]])
>>> for i in range(5):
... N.random.shuffle(M[:,i])
>>> M
array([[ 3, 9, 7, 9, 2],
[ 5, 4, 2, 5, 3],
[ 8, 8, 8, 1, 4],
[ 1, 2, 6, 10, 8],
[ 2, 1, 9, 2, 5],
[ 7, 7, 10, 7, 1],
[ 4, 3, 5, 8, 9],
[ 6, 5, 4, 4, 7],
[10, 10, 3, 6, 6],
[ 9, 6, 1, 3, 10]])
>>>

关于python - 填充 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7962033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com