Я пытаюсь использовать numpy для создания массива из 60 случайных чисел (либо 0, либо 1, т. е. подмножества бинома Бернулли). Эта первая часть кода работает нормально, поскольку генерирует 60 случайных (0Значения или 1 на основе заданной вероятности).
Однако затем я хочу изменить значения этого первого сохраненного массива (сохраненного в «результате») используя numpy.where(), чтобы для каждого элемента, если он равен 1, он стал "Z", а если он равен 0, то он заменялся другим случайным биномом число.
Многие итерации кода показывают, что он заменяет 1 на "Z", но не изменяет ни один из нулей, как в конечном итоге я должен найти новые единицы там, где были нули, но этого не происходит.
import numpy
n = 50 #The number of times to repeat the run
p = 0.1
count = 0
# Day one of the simulation
result = numpy.random.binomial(1, p, 60)
print (result)
for ele in result:
if (ele == 1):
count = count +1
print ("Number Infected:", count)
# Create the matrix to track who is infected
result = numpy.where(result == 1, "Z", numpy.random.binomial(1,p*count))
count = 0
for ele in result:
if (ele == 1):
count = count +1
# while count > 0: EVENTUALLY YOU WILL LOOP TO THIS CONDITION #
# ith day of simulation #
#for ele in result:
# if (ele == 0):
# ele == "X"
# else:
# ele == "I"
print(result)
print("Number Infected:", count)
ТЕКУЩИЙ РЕЗУЛЬТАТ:
[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0]
Number Infected: 5
['0' 'Z' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' 'Z' '0' '0'
'0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0'
'0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' 'Z' 'Z'
'0' '0' '0' 'Z' '0' '0']
Number Infected: 0
Подробнее здесь: https://stackoverflow.com/questions/791 ... -statement
Как изменить массив с помощью numpy.where() на основе условного оператора? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как изменить массив с помощью numpy.where() на основе условного оператора?
Anonymous » » в форуме Python - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Настройка покрытия кода, чтобы быть более прощающим с помощью нулевого условного оператора
Anonymous » » в форуме C# - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Настройка покрытия кода, чтобы быть более прощающим с помощью нулевого условного оператора
Anonymous » » в форуме C# - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Настройка покрытия кода, чтобы быть более прощающим с помощью нулевого условного оператора
Anonymous » » в форуме C# - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-