我有一个如下所述的Pandas数据框:
sr_no amount_credit_debit
1 1000
2 1234
3 -2378
4 -1290
5 3000
6 -4567
8 5678
9 1390
10 -2346
11 -2876
12 -9065
13 -6743
我必须对df以上的连续负数进行计数。
(-2378 and -1290) = First negative instance
(-4567) = Second negative instance
(-2346,-2876,-9065,-6743) = Third negative instance
输出是3
,这就是我的答案。
我已经尝试了很多,但是却找不到正确的答案
答案 0 :(得分:1)
首先,您可以找到负值的组号:
m = df['amount_credit_debit'].lt(0)
(m != m.shift())[m].cumsum()
输出:
2 1
3 1
5 2
8 3
9 3
10 3
11 3
然后找到最大组号:
(m != m.shift())[m].cumsum().max()
输出:
3