如何基于DataFrame中的多个条件对事件进行计数

克日斯托夫·鲍勃科夫斯基

我试图弄清楚如何使用多个条件来计算DataFrame中的出现次数。在此特定示例中,我想知道Pclass 3中的女性乘客人数。

    PassengerId Pclass  Sex Age SibSp   Parch   Ticket  Fare    Cabin   Embarked
0       892 3   male    34.5    0   0   330911  7.8292  NaN Q
1       893 3   female  47.0    1   0   363272  7.0000  NaN S
2       894 2   male    62.0    0   0   240276  9.6875  NaN Q
3       895 3   male    27.0    0   0   315154  8.6625  NaN S
4       896 3   female  22.0    1   1   3101298 12.2875 NaN S

这是我的几次失败尝试:

    len(test[test["Sex"] == "female", test["Pclass"] == 3])
    sum(test.Pclass == 3 & test.Sex == "female")
    test.[test["Sex"] == "female", test["Pclass"] == 3].count()

他们似乎都没有工作。最后,我创建了自己的函数,但是必须有一种更简单的方法来计算该函数。

def countif(sex, pclass):
    x = 0
    for i in range(0,len(test)):
        s = test.iloc[i]['Sex']
        c = test.iloc[i]['Pclass']
        if s == sex and c == pclass:
                x = x + 1
    return x

先感谢您

笨狼

有几种方法可以做到这一点:

test = pd.DataFrame({'PassengerId': {0: 892, 1: 893, 2: 894, 3: 895, 4: 896}, 
      'Pclass': {0: 3, 1: 3, 2: 2, 3: 3, 4: 3}, 
      'Sex': {0: 'male', 1: 'female', 2: 'male', 3: 'male', 4: 'female'}, 
      'Age': {0: 34.5, 1: 47.0, 2: 62.0, 3: 27.0, 4: 22.0}, 
      'SibSp': {0: 0, 1: 1, 2: 0, 3: 0, 4: 1}, 
      'Parch': {0: 0, 1: 0, 2: 0, 3: 0, 4: 1}, 
      'Ticket': {0: 330911, 1: 363272, 2: 240276, 3: 315154, 4: 3101298}, 
      'Fare': {0: 7.8292, 1: 7.0, 2: 9.6875, 3: 8.6625, 4: 12.2875}, 
      'Cabin': {0: np.nan, 1: np.nan, 2: np.nan, 3: np.nan, 4: np.nan}, 
      'Embarked': {0: 'Q', 1: 'S', 2: 'Q', 3: 'S', 4: 'S'}})

您需要将布尔值放在圆括号中,并与&

sum((test.Pclass == 3) & (test.Sex == "female"))
len(test[(test.Pclass == 3) & (test.Sex == "female")])
test[(test["Sex"] == "female") & (test["Pclass"] == 3)].shape[0]

或者您可以执行以下操作:

tab = pd.crosstab(df.Pclass,df.Sex)

Sex female  male
Pclass      
2   0   1
3   2   2

tab.iloc[tab.index==3]['female']

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

基于多个因素对事件进行计数

来自分类Dev

如何按周对事件进行分组和计数?

来自分类Dev

在Rx中,如何按ID对事件进行分组并按多个TimeSpans限制每个组?

来自分类Dev

如何使用熊猫基于多个列条件对行进行计数?

来自分类Dev

SQL:基于2个字段的值对事件进行计数

来自分类Dev

如何基于SQL Server中的多个列进行计数?

来自分类Dev

根据情况对事件进行计数并保存在新列中

来自分类Dev

如何在Firebase中基于多个条件进行查询?

来自分类Dev

如何在Firebase中基于多个条件进行查询?

来自分类Dev

如何对事件进行反跳?(语法错误?)

来自分类Dev

如何对事件进行反跳?(语法错误?)

来自分类Dev

让用户对事件进行RSVP?

来自分类Dev

针对MySQL列中的多个事件进行计数器

来自分类Dev

按时间间隔对事件进行分组和计数,再加上运行总计

来自分类Dev

在不修改原始顺序的情况下对事件进行计数

来自分类Dev

如何在R中使用多个条件进行计数

来自分类Dev

如何使用countifs函数对涉及日期的多个条件进行计数?

来自分类Dev

用多个匹配条件对excel中的行进行计数

来自分类Dev

如何在Spark中基于多个值为DataFrame编写条件

来自分类Dev

如何基于多个条件对收入进行排名。微软Excel

来自分类Dev

如何基于多个条件反应钩子进行过滤

来自分类Dev

根据条件对DataFrame中的值进行计数-太慢

来自分类Dev

R:基于dyplr中的多个条件进行汇总

来自分类Dev

Excel公式可匹配表之间的唯一ID值并基于多个条件进行计数

来自分类Dev

通过AND使用两个条件对事件日志进行XML过滤

来自分类Dev

带有tumblingWindow的APACHE FLINK AggregateFunction对事件进行计数,但如果未发生事件,则也发送0

来自分类Dev

对事件进行单元测试

来自分类Dev

如何使用解析计数进行条件计数?

来自分类Dev

如何在Postgresql中以组为条件进行计数

Related 相关文章

  1. 1

    基于多个因素对事件进行计数

  2. 2

    如何按周对事件进行分组和计数?

  3. 3

    在Rx中,如何按ID对事件进行分组并按多个TimeSpans限制每个组?

  4. 4

    如何使用熊猫基于多个列条件对行进行计数?

  5. 5

    SQL:基于2个字段的值对事件进行计数

  6. 6

    如何基于SQL Server中的多个列进行计数?

  7. 7

    根据情况对事件进行计数并保存在新列中

  8. 8

    如何在Firebase中基于多个条件进行查询?

  9. 9

    如何在Firebase中基于多个条件进行查询?

  10. 10

    如何对事件进行反跳?(语法错误?)

  11. 11

    如何对事件进行反跳?(语法错误?)

  12. 12

    让用户对事件进行RSVP?

  13. 13

    针对MySQL列中的多个事件进行计数器

  14. 14

    按时间间隔对事件进行分组和计数,再加上运行总计

  15. 15

    在不修改原始顺序的情况下对事件进行计数

  16. 16

    如何在R中使用多个条件进行计数

  17. 17

    如何使用countifs函数对涉及日期的多个条件进行计数?

  18. 18

    用多个匹配条件对excel中的行进行计数

  19. 19

    如何在Spark中基于多个值为DataFrame编写条件

  20. 20

    如何基于多个条件对收入进行排名。微软Excel

  21. 21

    如何基于多个条件反应钩子进行过滤

  22. 22

    根据条件对DataFrame中的值进行计数-太慢

  23. 23

    R:基于dyplr中的多个条件进行汇总

  24. 24

    Excel公式可匹配表之间的唯一ID值并基于多个条件进行计数

  25. 25

    通过AND使用两个条件对事件日志进行XML过滤

  26. 26

    带有tumblingWindow的APACHE FLINK AggregateFunction对事件进行计数,但如果未发生事件,则也发送0

  27. 27

    对事件进行单元测试

  28. 28

    如何使用解析计数进行条件计数?

  29. 29

    如何在Postgresql中以组为条件进行计数

热门标签

归档