gpt4 book ai didi

python - 在 python 中使用 numpy 时出现 "shape mismatch"错误

转载 作者:行者123 更新时间:2023-11-28 21:59:50 25 4
gpt4 key购买 nike

我正在尝试生成一个由 0 和 1 组成的随机数组,但出现错误:形状不匹配:对象无法广播到单个形状。错误似乎发生在 randints = np.random.binomial(1,p,(n,n)) 行中.这是函数:

import numpy as np

def rand(n,p):
'''Generates a random array subject to parameters p and N.'''

# Create an array using a random binomial with one trial and specified
# parameters.
randints = np.random.binomial(1,p,(n,n))

# Use nested while loops to go through each element of the array
# and assign True to 1 and False to 0.
i = 0
j = 0
rand = np.empty(shape = (n,n),dtype = bool)
while i < n:
while j < n:
if randints[i][j] == 0:
rand[i][j] = False
if randints[i][j] == 1:
rand[i][j] = True
j = j+1
i = i +1
j = 0

# Return the new array.
return rand

print rand

当我自己运行它时,它返回 <function rand at 0x1d00170> .这是什么意思?我应该如何将其转换为可在其他函数中使用的数组?

最佳答案

你不需要经历所有这些,

 randints = np.random.binomial(1,p,(n,n))

生成 01 值的数组,

 rand_true_false = randints == 1

将生成另一个数组,只是将 1 替换为 True,将 0 替换为 False

关于python - 在 python 中使用 numpy 时出现 "shape mismatch"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15906591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com