np.random.seed(42)
df = pd.DataFrame(np.random.randint(0, 10, (10 ** 6, 20)), columns=list(
    ascii_lowercase[:20]))
df.shape
1000000, 20

def with_groupby(df):
    return df.groupby(np.arange(len(df.columns)) // 2 + 1, axis=1).sum(
        ).add_prefix('s')

def with_reduceat(df):
    pass
Sum of Every Two Columns in Pandas dataframe