关于在1000 x 50的数组中对10位二进制数进行突变方面,我需要帮助。在每个数组中,它包含50个数字,这些数字是10位二进制版本。例如['1101011110']
我必须对50个(10位数字)中的5%进行突变,因此需要对500个数字中的25个进行突变
我的数据集如下
print(NewPop)
print(NewPop.shape)
[['0100110010' '0011011110' '0101111111' ... '1001001010' '0011000110'
'0100001110']
['0001001000' '0011000111' '0010010001' ... '1001001010' '0011000110'
'0100001110']
['1110111101' '0110110100' '0000111110' ... '1001001010' '0011000110'
'0100001110']
...
['0000100110' '1101111010' '1110110001' ... '0100010101' '0111001100'
'1010001111']
['1101111100' '0011001011' '0101100101' ... '0100010101' '0111001100'
'1010001111']
['1100111011' '1110000110' '1101101001' ... '0100010101' '0111001100'
'1010001111']]
(1000, 50)
我的最终目标是让它循环选择25个随机点并将其更改为0或1,但是在这个初步阶段,我试图访问数组中的第n个数字
通过
test=NewPop[[0],[1]]
print(test)
['0011011110']
我能够访问数组中的特定号码
numstr=str(test)
numstr[2:12][2]
通过转换为字符串,我可以访问特定的第n个数字,但是这是一个非常复杂的过程,尤其是如果我要将这个过程放入循环中
有人对此突变过程/访问第n位数字有其他建议
谢谢