我有一些较小的矩阵,我想合并成一个较大的矩阵。你知道吗
我试图用Numpy中的hstack
命令来实现这一点,但它将每个组合视为一个字符串,而不是字符串所表示的矩阵。如果我手动编写hstack
命令,它可以正常工作。你知道吗
import numpy as np
import itertools as it
sm01 = np.matrix( [[1],[1],[1]] )
sm02 = np.matrix( [[2],[2],[2]] )
sm03 = np.matrix( [[3],[3],[3]] )
Variables = ['sm01','sm02','sm03']
Comblst = ['']
for i in range(0, len(Variables)+1):
for subset in it.combinations(Variables, i):
a = str(subset).strip('()')
Comblst = np.vstack([Comblst,a])
var = str(Comblst[6]).strip('[]').strip('""').strip(',').replace("'","")
var = tuple(var.split(', '))
LargeMatrix = np.hstack([var])
我认为应该使用list append来构建
Conblst
,而不是vstack
。你知道吗告诉我们
Comblst
和var
的样子。我不能仅仅通过阅读代码来理解结构。你知道吗那么
hstack
的结果是什么。你知道吗=========================
这只是一系列字符串操作,最好使用列表而不是数组。但目的是什么?你真的打算生产吗
在Python中,字符串或名称与其引用的对象之间存在着非常真实的差异。你知道吗
我怀疑构建
Comblst
更好的方法是:忘记制作和分割字符串,而只是收集这些名称的元组。你知道吗
但您不必使用这些名称;您可以从矩阵本身的列表开始:
或者构造一个简单的数字元组列表,并用它建立索引
相关问题 更多 >
编程相关推荐