当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。
感谢
答案 0 :(得分:2)
cumsum
+ idxmax
应该有效:
df.A.cumsum().gt(5).idxmax()
3