在 python 中进行全矩阵输出
make a full matrix output in python
我有一个 236 x 97 维的矩阵。当我在 Python 中打印矩阵时,它的输出不完整,矩阵中间有 .......
。
我尝试将矩阵写入测试文件,但结果完全一样。
我无法 post 截图,因为我的声誉不够,如果我选择其他标记选项,将无法正确显示。
谁能解决这个问题?
def build(self):
self.keys = [k for k in self.wdict.keys() if len(self.wdict[k]) > 1]
self.keys.sort()
self.A = zeros([len(self.keys), self.dcount])
for i, k in enumerate(self.keys):
for d in self.wdict[k]:
self.A[i,d] += 1
def printA(self):
outprint = open('outputprint.txt','w')
print 'Here is the weighted matrix'
print self.A
outprint.write('%s' % self.A)
outprint.close()
print self.A.shape
问题是您使用以下行专门将 str
表示保存到文件中:
outprint.write('%s' % self.A)
显式将其转换为字符串 (%s
) --- 生成您所看到的删节版本。
有很多方法可以将整个矩阵写入输出,一个简单的选择是使用 numpy.savetxt,例如:
import numpy
numpy.savetxt('outputprint.txt', self.A)
假设您的矩阵是一个 numpy 数组,您可以使用 matrix.tofile(<options>)
将数组写入文件 here:
#!/usr/bin/env python
# coding: utf-8
import numpy as np
# create a matrix of random numbers and desired dimension
a = np.random.rand(236, 97)
# write matrix to file
a.tofile('output.txt', sep = ' ')
我有一个 236 x 97 维的矩阵。当我在 Python 中打印矩阵时,它的输出不完整,矩阵中间有 .......
。
我尝试将矩阵写入测试文件,但结果完全一样。 我无法 post 截图,因为我的声誉不够,如果我选择其他标记选项,将无法正确显示。 谁能解决这个问题?
def build(self):
self.keys = [k for k in self.wdict.keys() if len(self.wdict[k]) > 1]
self.keys.sort()
self.A = zeros([len(self.keys), self.dcount])
for i, k in enumerate(self.keys):
for d in self.wdict[k]:
self.A[i,d] += 1
def printA(self):
outprint = open('outputprint.txt','w')
print 'Here is the weighted matrix'
print self.A
outprint.write('%s' % self.A)
outprint.close()
print self.A.shape
问题是您使用以下行专门将 str
表示保存到文件中:
outprint.write('%s' % self.A)
显式将其转换为字符串 (%s
) --- 生成您所看到的删节版本。
有很多方法可以将整个矩阵写入输出,一个简单的选择是使用 numpy.savetxt,例如:
import numpy
numpy.savetxt('outputprint.txt', self.A)
假设您的矩阵是一个 numpy 数组,您可以使用 matrix.tofile(<options>)
将数组写入文件 here:
#!/usr/bin/env python
# coding: utf-8
import numpy as np
# create a matrix of random numbers and desired dimension
a = np.random.rand(236, 97)
# write matrix to file
a.tofile('output.txt', sep = ' ')