在我解释之前,以下是我的代码供参考:
import numpy as np
arrayteam = [[3,3,3,3,3,3],[2,2,2,2,2,2],[1,1,1,1,1,1]]
#nteams = 3
#nsubteam = 2
#newnums = np.zeros((len(arrayteam),len(arrayteam[0])))
subteam = []
for i in range(len(arrayteam)):
subteam.append(np.random.choice([0,1],size=len(arrayteam[i]),p=[0.5,0.5]))
print (subteam)
以下是输出:
[array([0, 1, 0, 1, 1, 1]), array([1, 1, 0, 1, 0, 0]), array([1, 0, 1, 1, 1, 1])]
正如您所看到的,它随机选择0和1,这是我想要的,但是每个数组中0和1的数量是不相等的,很明显,因为p=0.5,所以它选择0或1的概率为50%。我希望每个数组中有3个0和3个1,但它们是以随机顺序出现的。我该怎么做
还有,我怎样才能准确地改变零和一出现的位置呢?例如,如果我希望数组中的前3个数字为0,第二个3为1,该怎么办?或者如果我想让他们轮换呢
使用^{} 。请注意,它在适当的位置进行洗牌,并返回
None
:相关问题 更多 >
编程相关推荐