我創建了一個10x5的numpy零數組,我希望在每列填充1-10的數字。然而,我有一個問題,因爲它只填充第一列和list.pop()不起作用,加上我認爲我嵌套for循環,即使我嘗試使用不同的順序的行和首選項。任何幫助將不勝感激。填充numpy數組
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
我使用for循環插入的原因,因爲1和10的位置對我很重要(1表示最喜歡的,10表示最少)。你的方式意味着我會創建並填充然後通過並找到。 –
道格的方法有1/10選擇10個值中的一個的機會,而不管其他值如何選擇。就像他最後一列有兩個7和三個5。我的方法修復了一列中只有一個值和每個值都有一個值。選擇一個你需要的。 – yosukesabai
不錯的一個;從我+1。 – doug