【问题标题】:How to count occurrences of string in numpy array? [duplicate]如何计算numpy数组中字符串的出现次数? [复制]
【发布时间】: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()

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

【问题讨论】:

    标签: python pandas string numpy


    【解决方案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()
    

    【讨论】:

      猜你喜欢
      • 2016-06-21
      • 1970-01-01
      • 2013-03-12
      • 2012-08-11
      • 2020-05-06
      • 1970-01-01
      • 2013-12-29
      • 2012-10-03
      • 1970-01-01
      相关资源
      最近更新 更多