Предполагается, что ваш столбец даты называется 'date'
:
df['month'] = df['date'].astype(str).str[:6]
monthly_total = df.groupby('month').sum().drop('date', axis='columns')
дает вам
MSFT-US AAPL-US GE RF
month
201505 1.38 0.92 -1.86 0.0
Чтобы получить сложный результат, нам нужно добавить 1 к каждому значению, а затем использовать .prod()
:
df[['MSFT-US', 'AAPL-US', 'GE', 'RF']] += 1
monthly_total = df.groupby('month').prod().drop('date', axis='columns')
Дает нам:
MSFT-US AAPL-US GE RF
month
201505 0.008739 0.946043 0.070769 1.0