Есть ли способ выполнить операцию между двумя кадрами данных?Операции между двумя кадрами данных или эквивалентно между двумя многомерными массивами
Например, предположим, что мы имеем пару dataframes:
df1 = pd.DataFrame({'a': randn(5), 'b': randn(5)})
df2 = pd.DataFrame({'c': randn(5), 'd': randn(5)})
df1
a b
0 -0.287740 -0.255126
1 -0.356745 0.632524
2 -0.379608 -0.876348
3 -0.596401 0.937805
4 0.969356 0.421352
df2
c d
0 -0.505406 -0.921449
1 0.508703 0.844641
2 0.300125 -0.942838
3 0.711138 -0.364033
4 -0.370174 -1.284353
И я хотел бы, чтобы выполнить операцию (возможно, корреляция) между рядами df1 и df2. Используя этот пример, я хочу что-то подобное в новом dataframe:
corr([-0.287740 -0.255126],[-0.505406 -0.921449])
corr([-0.356745 0.632524],[0.508703 0.844641])
...
corr([0.969356 0.421352],[-0.370174 -1.284353])
Несмотря на то, используя соответствующие столбцы также можно просто перестановкой DF1 и df2.
Я думаю, что это должно быть возможно, хотя исходная задача была связана с Numpy массивы, которые будут сформулировать следующим образом:
Предположим пару массивов я и J:
i = np.random.random((5,2))
j = np.random.random((5,2))
i
array([[ 0.88005044, 0.60633474],
[ 0.1183816 , 0.61705454],
[ 0.24259704, 0.8490759 ],
[ 0.66581795, 0.31805491],
[ 0.89337085, 0.21212527]])
j
array([[ 0.52745975, 0.07748147],
[ 0.36152729, 0.74438265],
[ 0.48207699, 0.28462384],
[ 0.08623375, 0.55043213],
[ 0.26371755, 0.23409753]])
Как я могу сопоставить первый массив i [ 0.88005044, 0.60633474]
с первым массивом j [ 0.52745975, 0.07748147]
?
Я удалил свой предыдущий комментарий, так как пропустил запятые на моем первом проходе :) –
Конечно. Я забыл закрыть правый кронштейн. Я исправлю это через мгновение. –
Также, о какой корреляции вы говорите здесь? Кросс-корреляция, стандартный Pearson's r и т. Д. Какой? –