I Have е DataFrame как это:Панды dataframe: подсчитывать макс последовательных значений
RTD Val
BA 2
BA 88
BA 15
BA 67
BA 83
BA 77
BA 79
BA 90
BA 1
BA 14
Первое:
df['count'] = df.Val > 15
print(df)
я получаю в результате:
RTD Val count
0 BA 2 False
1 BA 88 True
2 BA 15 False
3 BA 67 True
4 BA 83 True
5 BA 77 True
6 BA 79 True
7 BA 90 True
8 BA 1 False
9 BA 14 False
Теперь, сосчитать максимальные последовательные случаи, которые я использую:
def rolling_count(val):
if val == rolling_count.previous:
rolling_count.count +=1
else:
rolling_count.previous = val
rolling_count.count = 1
return rolling_count.count
rolling_count.count = 0 #static variable
rolling_count.previous = None #static variable
ddf= df['count'].apply(rolling_count)
print (max(ddf))
Я получаю результат: 5
.
Мой ответ: Чтобы подсчитать максимальное количество событий, следующих за False, как я должен это делать?
Правильное значение равно 2
.
Я заинтересован знать максимум отличных Правда последовательных появлений, для Val > 15
и наоборот
Я благодарю вас за ответы, но код минимум, работа:. DDF = ДФ [ «Количество»] применяются (roll_count) .where (df ['count'] == False) .dropna() print (max (ddf)) – Andreas