Итак, я нашел способ.
name = stock_position.name
name = re.sub('[^a-zA-Z]+', '', name)
name = name[0:-4]
stock_position=stock_position.groupby([pd.TimeGrouper('M')]).agg(['first', 'last'])
stock_position["name"] = name
stock_position["return"] = ((stock_position["last"] / stock_position["first"]) - 1) * 100
stock_position.dropna(inplace=True)
df_migdal=df_migdal.append(stock_position)
df_migdal=df_migdal.round(decimals=2)
Я попытался сделать это более холодным способом, но не знал, как обрабатывать, мультииндекс, который я получил ... Мне нужно, чтобы для каждого столбца, чтобы взять два подколока и создать третий из некоторой лямбда-функции.
df_input.groupby([pd.TimeGrouper('M')]).agg(['first', 'last'])