логическое значение не поддерживается между экземплярами 'int' и 'list' .. несмотря на наличие чистого массива? - PullRequest
0 голосов
/ 07 мая 2020

У меня есть массив размером 10000, который содержит случайные целые числа от 1 до 200, сделанный с использованием следующего кода:

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

Затем я беру случайную выборку из 100 из этого array и найти его среднее значение и поместить его в массив с именем meen:

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

Я предполагаю, что последние два кода работают правильно, потому что, когда я печатаю (meen), я получаю массив:

[102.89, 106.14, 104.73, 97.78, 101.94, 98.94, 97.43, 98.92, 101.84, 99.64......] пятьдесят тысяч в длину.

Теперь проблема в том, что я пытаюсь найти количество значений, попадающих в диапазон. Например, если я скажу, что хочу найти количество чисел в meen, которые находятся между 95 и 100, я попробовал код:

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

Но я получаю сообщение об ошибке: «TypeError: '<=' not поддерживается между экземплярами 'int' и 'list' "</p>

Я видел различные похожие проблемы с этой ошибкой на этом веб-сайте, но все они связаны с плохими массивами. Я думаю, что мой массив в порядке ..? В нем есть только числа, никаких строк или что-то еще, что может вызвать проблемы.

1 Ответ

2 голосов
/ 07 мая 2020

meen - это список, а не numpy массив. Попробуйте добавить это после вашего l oop:

meen = np.asarray(meen)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...