Как найти среднее значение каждых четырех элементов массива?
Как из этого:
Time Value1 Value2
0 10 30.5 21.6
1 11 11 50.2
2 13 13 13.33
3 15 101.1 2
4 23 5 5
5 4 11.1 10
6 5 15.1 13.2
7 10 11 2.3
Во всех столбцах кроме Time надо взять первые 4 строки, найти их среднее:
Time Value1 Value2
0 15 38,9 21,7825
1 10 10,55 7,625
Обычные перебор циклом не подходит, т.к. реальных данных гораздо больше и простой перебор — очень долго.
Есть ли возможность сделать это быстрее и компактнее?
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Попробуйте так:
res = (df
.groupby(np.arange(len(df)) // 4)
.agg({"Time": "last", "Value1": "mean", "Value2": "mean"}))
Результат:
Time Value1 Value2
0 15 38.90 21.7825
1 10 10.55 7.6250