python数据帧协方差行

问题描述 投票:0回答:0

我有 50k 条记录,其中包括每个键/记录的时间序列:包括 12 个月的账户回报和 12 个月的基准回报以及许多其他数据。我正在尝试获取账户回报(12 个周期)并通过查看基准回报(12 个周期)获得协方差,所有这些都在每个账户 ID 的同一行上。

key acct_ret_mo_1   acct_ret_mo_2..... acct_ret_mo_12  benchmark_ret_mo_1...benchmark_ret_mo_12
0001         0.01            0.02               -0.02                0.03                  0.04        

我试图弄清楚如何在给定基准返回 1-12 的情况下计算 acct_returns 1-12 的协方差,然后将每条记录的奇异输出应用于新列,但是我得到“ValueError:通过 12 的项目数量错误,放置意味着 50000.

我尝试使用以下内容:

acct = ['acct_ret_mo_1','acct_ret_mo_2'.......'acct_ret_mo_12'] # list variable 1
bench = ['benchmark_ret_mo_1','benchmark_ret_mo_2'.......'benchmark_ret_mo_12'] # list variable 2
array1 = np.array(final[acct])
array2 = np.array(final[bench])
final['cov'] = np.cov(array1,array2) # did not work - numpy methodology
final['cov'] = acct.cov(bench) # did not work - pandas methodology

我厌倦了通过函数和 for 循环手动应用公式,因为这会为整体处理增加大量时间。

任何帮助将不胜感激!我不确定我是否需要在某处指定轴或方向。但目的是将每个账户回报/基准回报的 12 个周期保持为列表变量,以保持代码紧凑,但这会影响计算,因为我试图按行计算,我认为该函数试图查看所有每列填充数据的行。

python pandas numpy covariance
© www.soinside.com 2019 - 2024. All rights reserved.