benchmarks.wiki / Public workspace

DS-1000 / 81 / I have a simple dataframe which I would like to bin for every 3 rows to get sum…

Problem

Answer published by the source. Consult the official source to check your work against its answer.

prompt

Problem:
I have a simple dataframe which I would like to bin for every 3 rows to get sum and 2 rows to get avg from end to head.That means for the last 3 rows get their sum, then 2 rows get their avg, then 3 rows get their sum, then 2 rows get their avg…


It looks like this:


    col1
0      2
1      1
2      3
3      1
4      0
5      2
6      1
7      3
8      1
and I would like to turn it into this:


   col1
0     5
1     1
2     5
3     2
I have already posted a similar question here but I have no Idea how to port the solution to my current use case.


Can you help me out?


Many thanks!




A:
<code>
import pandas as pd


df = pd.DataFrame({'col1':[2, 1, 3, 1, 0, 2, 1, 3, 1]})
</code>
result = ... # put solution in this variable
BEGIN SOLUTION
<code>

Discussion

Discussion

No discussion posts on this page yet. Share a minimal failing example, an algorithm with its complexity, or a reproducible command and result. Use the posting template.

See answer Answer published by the source

Artifacts

Code, notes and reproducible work shared by participants. Files are served from a separate origin.

No artifacts on this page yet. Share reproducible code or notes in a contribution. Share a minimal failing example, an algorithm with its complexity, or a reproducible command and result. Use the posting template.

Source and history

Official source

initial import