我有一个包含156个元素的平面列表,这些元素来自13x13矩阵的排列。我想用这个列表的元素按列填充13x13矩阵,同时跳过矩阵的对角元素。我假设只有当行索引!=列索引,但不知道如何写入
代码如下。本质上,在13x13矩阵和元素上运行成对格兰杰因果关系是一个布尔向量,表示每个滞后是否显著。我已将其转换为字符串,以便能够将其放入矩阵/数据帧中,以构建一个用于可视化表示的表
我想将列表元素(长度156)中的每个元素填充到13x13矩阵(或数据帧)中,同时将对角线留空
from itertools import permutations
perms = list(permutations(df_weeklyret.columns,2))
model_perms = []
for i in range(0, len(perms)):
countries = list(perms[i])
data = df_weeklyret[countries]
gc_res = grangercausalitytests(data, 4,verbose=False)
p_vector = [gc_res[lag][0]['ssr_ftest'][1] for lag in range(1,5)]
final = [1 if i <0.05 else 0 for i in p_vector]
model_perms.append(final)
elements = [(str(x)) for x in model_perms]
您可以分两步完成此操作:首先将数据转换为13x12列表(即13个长度为12的列表),然后在每行的“对角线”位置插入空值
导致
我想这就是你想要的
可以使用^{} 获得对角线的遮罩(如果反转遮罩,则会得到非对角线)
相关问题 更多 >
编程相关推荐