我有这段代码为所有从0到512的数字创建一个二进制表示的数组,我想在每个数组的末尾添加一个随机值。随机值可以是0或1。这是生成数组的代码:
import numpy as np
POP_SIZE = 50
def initialize_population():
pixels = 9
population = []
for i in range(POP_SIZE):
chromosome = np.array([list((np.binary_repr(x, pixels))) for x in range(2 ** pixels)], dtype=int)
population.append(chromosome)
return population
我知道我可以使用np.append(chromosome, np.random.randint(2))
,但不知道如何与previos代码集成。
答案 0 :(得分:1)
import numpy as np
import random
POP_SIZE = 50
def initialize_population():
pixels = 9
population = []
for i in range(POP_SIZE):
chromosome = np.array([list(np.binary_repr(x, pixels)) + [random.randint(0, 1)] for x in range(2 ** pixels)], dtype=int)
population.append(chromosome)
return population
print(initialize_population()[0].shape)
(512, 10)