我想找到某列中的值的累积和超过阈值的行(索引)。
我可以并且确实使用一个简单的循环找到这个位置,如下所示:
def sum_to(df, col, threshold):
s = 0
for r in df.iterrows():
if s + r[1][col] > threshold:
return r[0]
else:
s += r[1][col]
return len(df)
然而,我想知道是否有更好/更好的方法来在 Pandas 中实现这一点。
最简单的方法可能是
df[col].cumsum().searchsorted(threshold)
但这假设您的列中没有负数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)