如何计算numpy数组中字符串的出现次数? [复制]

Posted

技术标签:

【中文标题】如何计算numpy数组中字符串的出现次数? [复制]【英文标题】:How to count occurrences of string in numpy array? [duplicate] 【发布时间】:2021-03-27 19:28:56 【问题描述】:

所以我改变了我以前的代码

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()

我怎样才能以与新方法兼容的方式完成上述行?

【问题讨论】:

【参考方案1】:

np.where 返回一个 numpy 数组,而不是 pandas 系列。所以你想要:

(correct=='INCORRECT').sum()

【讨论】:

那行得通,它实际上让我意识到它确实非常简单,而我做错了其他事情。谢谢【参考方案2】:
# 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()

【讨论】:

以上是关于如何计算numpy数组中字符串的出现次数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何计算numpy中多个项目的出现? [复制]

如何对字符串数组执行 bincount?

numpy如何查找数组中个数最多的元素

如何计算特定字母在字符串中出现的次数? (C++)

如何在字符串中找到每个后缀的出现次数?

计算字符在Ruby中的字符串数组中出现的次数