Вопрос:Панды ежедневно GroupBy с условием на основе первого высшего значения
Как найти в первый раз каждый день, когда num_2
>num_1
. Ежедневно groupby
с условием, основанным на первом более высоком значении, как показано в примере ниже.
данных:
df = pd.DataFrame({
'num_1':[1,2,3,4,5,6,7,8,9,10,11,12],
'num_2':[1,2,10,5,5,6,7,8,100,101,102,15],
'dates':pd.date_range('1/1/2011', periods=12, freq='8h')})
df
dates num_1 num_2
0 2011-01-01 00:00:00 1 1
1 2011-01-01 08:00:00 2 2
2 2011-01-01 16:00:00 3 10
3 2011-01-02 00:00:00 4 5
4 2011-01-02 08:00:00 5 5
5 2011-01-02 16:00:00 6 6
6 2011-01-03 00:00:00 7 7
7 2011-01-03 08:00:00 8 8
8 2011-01-03 16:00:00 9 100
9 2011-01-04 00:00:00 10 101
10 2011-01-04 08:00:00 11 102
11 2011-01-04 16:00:00 12 15
Я выделил раз условие True
для этих данных:
Желаемый выход:
Новый показ колонки 1
когда условие True
и 0
когда False
Я просто фильтровать ФР до GroupBy, как 'df.groupby ((ДФ [«даты»] дт.. час> 0) & (df ['date']. dt.date)) ..... 'обычный материал, который, я думаю, должен работать – EdChum