'int'和'list'的实例之间不支持布尔值,尽管数组很干净?

问题描述 投票:0回答:1

我有一个大小为10000的数组,其中包含使用以下代码制成的1-200之间的随机整数:

x = np.random.randint(1,201, size=10000)

接下来,我从该数组中随机抽取100个样本,然后求出平均值并将其放入名为meen的数组中。

meen = []
for z in range(0, 50000):    
    randomSample=random.sample(list(x), 100 )
    meanOfSample=np.mean(randomSample)  
    meen.append(meanOfSample)     

我假设过去的两个代码正常工作,因为当我打印(表示)时会得到一个数组:

[102.89, 106.14, 104.73, 97.78, 101.94, 98.94, 97.43, 98.92, 101.84, 99.64......]五万长。

现在,问题是当我尝试查找落入范围内的值的数量时。例如,如果我说我想找到表示95到100之间的数字,我尝试了以下代码:

((95 <= meen) & (meen <= 100)).sum()

但是我收到错误:“ int”和“ list”的实例之间不支持TypeError:'<=']

我在此网站上看到了与此错误相关的各种类似问题,但它们都涉及不良阵列。我认为我的阵列很好..?它只有数字,没有字符串或其他任何会引起问题的内容。

python arrays list int typeerror
1个回答
1
投票

meen是一个列表,而不是一个numpy数组。尝试在循环后添加此内容:

meen = np.asarray(meen)
© www.soinside.com 2019 - 2024. All rights reserved.