Я работаю с кадром данных со столбцом, содержащим np.array на строку (в данном случае представляющий среднюю форму волны мозговых записей по времени). Я хочу вычислить корреляцию Пирсона для этого столбца (массив за массивом).
Это мой код
lenght = len(df.Mean)
Mean = []
for i in range(len(df.Mean)):
Mean.append(df.Mean[i])
Correlation_p = np.zeros((lenght,lenght))
P_Value_p = np.zeros((lenght,lenght))
for i in range(lenght):
for j in range(lenght):
Correlation_p[i][j],P_Value_p[i][j] = stats.pearsonr(df.Mean[i],df.Mean[j])
Это работает, но я хочу знать, есть ли еще Pythoni c способ сделать это, возможно, используя df.corr()
. Я пытался, но мне не удалось это сделать.
РЕДАКТИРОВАТЬ: вывод df.Mean.head()
0 [-0.2559348091247745, 0.02743063113723536, 0.3...
1 [-0.37025615099744325, -0.11299328141596175, 0...
2 [-1.0543681894876467, -0.8452798699354909, -0....
3 [-0.23527437766943646, -0.28657810260136585, -...
4 [0.45557980303095674, 0.6055674269814991, 0.74...
Name: Mean, dtype: object