Suppose that I have this data frame:

```
df = pd.DataFrame({'col1': [1, 2, 3, 4, 5], 
              'col2': [7, 45, 12, 56, 14],
              'col3': [56, 67, 8, 12, 39],
              'col4': [16, np.nan, 25, 6, 19],
              'col5': [1, 9, 23, 56, np.nan],
              'col6': [13, 3, 53, 72, 88]})

```

All I want is to calculate mean of even columns and odd columns of this dataframe. I have tried these codes:

```
df['avg_odd'] = df[[df.columns[0],df.columns[2],df.columns[4]]].mean(axis=1)
df['avg_even'] = df[[df.columns[1],df.columns[3],df.columns[5]]].mean(axis=1)

```

But is there any way to do it faster? How should I calculate if I have 100 columns or more?