如何在 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
我有这样的数据框:
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