Итак, я изменил свой предыдущий код
if advice[i] == real_choice[i]:
correct[i] = "CORRECT"
else:
correct[i] = "INCORRECT"
к
correct = np.where( advice == real_choice, "CORRECT", "INCORRECT")
но теперь мой код после этого, который вычисляет количество вхождений строки "INCORRECT" в correct, больше не работает:
num_incorrect = correct.str.count("INCORRECT").sum()
как я могу сделать указанную выше строку так, чтобы она была совместима с новым методом?






np.where возвращает пустой массив, а не серию панд. Итак, вы хотите:
(correct=='INCORRECT').sum()
# numpy array
(correct == "INCORRECT").sum()
dict(zip(*np.unique(correct, return_counts=True)))["INCORRECT"]
# list
list(correct).count("INCORRECT")
или
correct = np.where( advice[i] == real_choice[i], 1, 0)
incorrect_size = correct.size - correct.sum()
Это работает, и на самом деле это заставило меня понять, что это действительно очень просто, и я делаю что-то еще неправильно. Спасибо