我有一个稀疏矩阵 X 和一个目标数组 Y(其长度等于 X 的行),想象如下:
X=([1.5 0.0 0.0 71.9 0.0 0.0 0.0],
[0.0 10.0 0.0 2.0 0.0 0.0 0.0],
[0.0 0.0 0.0 0.0 0.0 0.0 11.0])
y =[4,2,-6]
我需要的是首先拥有新形式的稀疏矩阵,其中每行包含非零值及其相应的行索引 X:
示例
X1=( 0:1.5 3:71.9
1:10 3:2
6:11 )
为此我已经问过这个question (但是我仍然不知道如何存储 X1 在那里,以便稍后我将它与 Y 连接起来?)但问题的第二部分是连接 X1 和 Y ( X1 的行数仍然等于 Y 的长度)并存储最终结果,最终结果应类似于以下格式:
data:
4 0:1.5 3:71.9
2 1:10 3:2
-6 6:11
...
如何从X,Y获取最终数据并将其存储在Python的文本文件中?
最佳答案
像这样连接:
data = [[a]+b for a, b in zip(Y, X1)]
# data = [[a]+b for a, b in zip(Y, [':'.join([k,v]) for k,v in X1.items()])]
并写入文件:
with open(filename, 'w') as f:
for row in data:
f.write(' '.join(row))
关于python - 在 Python 中将自定义格式的稀疏矩阵 X 与目标数组 Y 连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36403642/