pandas - 熊猫中的滚动多维函数
问题描述
假设,我有以下代码。
import numpy as np
import pandas as pd
x = pd.DataFrame(np.random.randn(100, 3)).rolling(window=10, center=True).cov()
对于每个索引,我都有一个 3x3 矩阵。我想计算特征值,然后计算这些特征值的一些函数。或者,也许,我可能想计算一些特征值和特征向量的函数。关键是,如果我采用 x.loc[0] ,那么从该矩阵计算任何东西都没有问题。我如何以滚动方式对所有矩阵进行操作?
谢谢!
解决方案
您可以在辣味.sparse.linalg中使用类似的特征向量/特征值方法。
import numpy as np
import pandas as pd
from scipy import linalg as LA
x = pd.DataFrame(np.random.randn(100, 3)).rolling(window=10, center=True).cov()
for i in range(len(x)):
try:
e_vals,e_vec = LA.eig(x.loc[i])
print(e_vals,e_vec)
except:
continue
如果不存在 NaN 值,则无需使用 try 和 except 而是只使用 for 循环。
推荐阅读
- android - 用于替换 android 代理的 websockets?
- python - 单击单选按钮时的问题无法选择单选按钮。消息:过时的元素引用:元素未附加到页面文档
- amazon-web-services - 当我尝试访问 GeoPy API 时,AWS EC2 实例上出现 SSL 错误
- sqlite - SQLite 虚拟表创建格式错误的数据库
- django-models - update_user() 接受 1 个位置参数,但给出了 2 个
- java - 如何处理多类 Java Swing 项目中的事件?
- r - nnet.default(x, y, size = num_neurons[size], 中的错误:'x' 和 'y' 的 nrows 必须匹配
- python - 如何在python数组中第二次出现一个值并为其设置颜色?
- amazon-web-services - 如何使用密码验证从 jumpbox 登录到私有主机?
- google-sheets-formula - Google表格按行查询顺序以