计算在pandas数据帧中满足特定和条件的行数

时间:2018-03-21 16:17:51

标签: python pandas dataframe rows counting

当pandas dataframe中某些列的前x行的总值超过某些值时,我尝试获取行数。我已经阅读了几个解决方案,但不完全是我想要的。基本上我可以使用循环执行此操作,如以下代码所示。我只是想知道python中是否有任何突击队没有循环这样做?

import pandas as pd

df = pd.DataFrame({'A': pd.Series(range(1, 10), index = \
                  range(1, len(range(1,10))+1))})
Count = 0

for i in df.loc[:, 'A']:
    Count += i
    if (Count > 5):
        break

print('Row index:', i)

这个代码为我提供了我想要的,当A列第一行的总和超过5时的行数为3。

感谢

1 个答案:

答案 0 :(得分:2)

cumsum + idxmax应该有效:

df.A.cumsum().gt(5).idxmax()

3