根据条件获取数据帧行数

新手上路,请多包涵

我想根据条件选择获取数据框行数。我尝试了以下代码。

 print df[(df.IP == head.idxmax()) & (df.Method == 'HEAD') & (df.Referrer == '"-"')].count()

输出:

 IP          57
Time        57
Method      57
Resource    57
Status      57
Bytes       57
Referrer    57
Agent       57
dtype: int64

输出显示数据框中每一列的计数。相反,我需要在满足上述所有条件的情况下进行一次计数?这该怎么做?如果您需要有关我的数据框的更多解释,请告诉我。

原文由 Nilani Algiriyage 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 401
2 个回答

您要求的条件是所有条件都为真,所以框架的 len 就是答案,除非我误解了您的要求

In [17]: df = DataFrame(randn(20,4),columns=list('ABCD'))

In [18]: df[(df['A']>0) & (df['B']>0) & (df['C']>0)]
Out[18]:
           A         B         C         D
12  0.491683  0.137766  0.859753 -1.041487
13  0.376200  0.575667  1.534179  1.247358
14  0.428739  1.539973  1.057848 -1.254489

In [19]: df[(df['A']>0) & (df['B']>0) & (df['C']>0)].count()
Out[19]:
A    3
B    3
C    3
D    3
dtype: int64

In [20]: len(df[(df['A']>0) & (df['B']>0) & (df['C']>0)])
Out[20]: 3

原文由 Jeff 发布,翻译遵循 CC BY-SA 3.0 许可协议

在 Pandas 中,我喜欢使用 shape 属性来获取行数。

 df[df.A > 0].shape[0]

根据需要给出匹配条件 A > 0 的行数。

原文由 flow2k 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题