如何在 pandas 数据框中找到 Max_winning_streak(连续 +ve 值的最大数量)

how to find Max_winning_streak (max number of consecutive +ve values) in pandas dataframe

我有这样的数据框:

dataframe_name-> p_and_l

date             pnl
1/2/17 15:14    -907.5
1/3/17 15:14    1685.75
1/4/17 15:14    817
1/5/17 15:14    -182.5
1/6/17 15:14    415.25
1/9/17 15:14    -339.75
1/10/17 15:14   -413
1/11/17 15:14   1137.5
1/12/17 15:14   127.25
1/13/17 15:14   617.5
1/16/17 15:14   -875
1/17/17 15:14   158
1/18/17 15:14   -498.75
1/19/17 15:14   224.5

我试图像这样找到 Max_winning_streak(连续 +ve 值的最大数量)... Max_winning_streak = pd.Series(p_and_l['pnl']) Max_winning_streak.apply(连续计数)

但没有得到想要的解决方案。

谁能帮我解决这个问题... 提前致谢

比较组的值减等于0与累计总和然后计数值,默认Series.value_counts排序,所以第一个值是最大计数:

m = df['pnl'].le(0)

max1 = m.cumsum()[~m].value_counts().iat[0]
print (max1)
3