Используя простой кадр данных ниже:
df= pd.DataFrame({'v1': [1, 3, 2, 1, 6, 7],
'v2': [2, 2, 4, 2, 4, 4],
'v3': [3, 3, 2, 9, 2, 5],
'v4': [4, 5, 1, 4, 2, 5]})
(1-я интерпретация) один способ получить корреляции одной переменной с другими столбцами:
correlations = df.corr().unstack().sort_values(ascending=False) # Build correlation matrix
correlations = pd.DataFrame(correlations).reset_index() # Convert to dataframe
correlations.columns = ['col1', 'col2', 'correlation'] # Label it
correlations.query("col1 == 'v2' & col2 != 'v2'") # Filter by variable
# output of this code will give correlation of column v2 with all the other columns
(2-я интерпретация) в одну сторону чтобы получить корреляции столбца v1 со столбцом v3, v4 после группировки по столбцу v2 использует следующую строку:
df.groupby('v2')[['v1', 'v3', 'v4']].corr().unstack()['v1']
В вашем случае v2 - это Signal_Up, v1 - это сигнал, а v3, v4. столбцы прокси 'Net_return_at_t_plusX' столбцы.