计算 pandas 数据框中满足特定求和条件的行数
Counting the number of rows that meet certain sum condition in pandas dataframe
当 pandas 数据框中某列的前 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列x第一行的总和超过5时的行数是三。
谢谢
cumsum
+ idxmax
应该有效:
df.A.cumsum().gt(5).idxmax()
3
当 pandas 数据框中某列的前 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列x第一行的总和超过5时的行数是三。
谢谢
cumsum
+ idxmax
应该有效:
df.A.cumsum().gt(5).idxmax()
3