访问数组中的数字(二进制​​数突变)

时间:2018-10-25 12:47:47

标签: python numpy

关于在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位数字有其他建议

谢谢

0 个答案:

没有答案