当前位置: 首页 > 知识库问答 >
问题:

如何使用Pandas计算值在每列(每列)中出现的次数?

田冥夜
2023-03-14

有没有办法用熊猫来计算某个值在每一列中出现的次数?

数据= pd。DataFrame({'userID':['Luis ',' Mike ',' Harvey'],' category1':[True,False,True],' category2': [True,True,False],' category3':[False,False,False]})

假设我想计算每个类别中“真”布尔值的数量,得到的结果是:

 Category 1  -- Category 2 -- Category 3
      2             2              0

我该怎么做呢?

共有2个答案

施利
2023-03-14

< code > a = dict(df . category 1 . value _ counts())这会给出类似{True : 20,False : 15}的输出

鲜于凯康
2023-03-14

您可以通过布尔掩码的sum计算出现次数-True。值是1s这样的过程:

#count all columns without first to Series
print (data.iloc[:, 1:].sum().astype(int))

category1    2
category2    2
category3    0
dtype: int32

#or to one row DataFrame
df = data.iloc[:, 1:].sum().astype(int).to_frame().T

eq==)的通用解决方案:

val = True
df = data.iloc[:, 1:].eq(val).sum().astype(int).to_frame().T
print (df)

   category1  category2  category3
0          2          2          0
 类似资料:
  • 问题内容: 我正在尝试计算中每行显示的数字,例如: 行显示3次。 一个简单的天真的解决方案将涉及将我所有的行都转换为元组,然后应用,如下所示: 产生: 但是,我担心我的方法的效率。也许有一个提供此功能的内置库。我将此问题标记为,因为我认为它可能具有我正在寻找的工具。 问题答案: 您可以使用另一个问题的答案来获得唯一项目的计数。 使用结构化数组的另一种选择是使用一种void类型的视图,该视图将整行连

  • 问题内容: 我有一个看起来像这样。 对于此数据帧中的每一行,我想计算C1,C2,C3中每一个的出现次数,并将此信息作为列附加到此数据帧中。例如,第一行具有1 C1、0 C2和0 C3。最终数据帧应如下所示 因此,我创建了一个以C1,C2和C3作为值的系列- 一种最重要的方法是在DataFrame的行和列上循环,然后在该Series上循环,并在计数器匹配时递增计数器。但是,有没有一种方法可以以紧凑的

  • 问题内容: 如果我有英文文章或英文小说,并且想计算每个单词出现多少次,用Java编写的最快算法是什么? 有人说您可以使用Map ()完成此操作,但我想知道如何知道关键字是什么?每篇文章都有不同的词,您如何知道“关键”词,然后在其数量上加上一个? 问题答案: 这个数字“我是”只是一个字

  • 我正在尝试获取每分钟出现数据的次数。日期看起来是这样的。第一个数字是一个整数,表示自Unix纪元以来的秒数,我将其转换为ISO 8601时间。第二个数字是双精度的。以“00”结尾的时间代表第0分钟,以“60”结尾的时间代表第1分钟。 代码: 我的输出是这样的: 但我正在寻找类似下面的东西(忽略新的分钟找到的文本) 我如何调整它,以便我跟踪当前分钟并添加到计数器,而不会过早地打印出计数器?

  • 问题内容: 我正在尝试编写一个脚本,该脚本将显示每列中非空值的数量以及表中的总行数。 我发现了几种方法可以做到这一点: 和 但是这些要求我手动输入每个列名称。有没有一种方法可以对每个列执行此操作而不列出它们? 问题答案: 正如Paolo所说,但这是一个示例: