如何在 pandas 数据框中计算结果行数?

4

我有一个pandas DataFrame。我想计算满足条件的行数。

数据有800行;data[data['cond'] == 1]返回具有343行的框架。我需要将行数存储在一个变量中。我该怎么做?

代码示例: ``` # 统计满足条件的行数并存储在变量中 num_rows = len(data[data['cond'] == 1]) ```
3个回答

4

如果我理解正确,您可以这样做:

a = len(data[data['cond'] == 1])

2
你可以使用 shape 方法:
a = data[data['cond'] == 1].shape[0]

我尝试了时间测试,似乎在大型的 df(长度为 60k)中,两个选项都是相同的:

In [1399]: %timeit data[data['fld1'] == 1].shape[0]
100 loops, best of 3: 4.9 ms per loop

In [1400]: %timeit len(data[data['fld1'] == 1])
100 loops, best of 3: 4.91 ms per loop

0

我只会这样做

x = sum(data['cond'] == 1)

(data['cond']==1) 创建了一个由布尔值填充的Series对象,sum函数将True视为1,False视为0。

x = len(data[data['cond'] == 1])

也可以行,而且可能更易读,但我认为它会创建一个“data”中间切片。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接