矩阵转置不是迭代的

时间:2014-05-08 02:38:01

标签: python transpose

我试图转置大约60 * 75的数据集。我在迭代矩阵以将其转换为75 * 60顺序时遇到了麻烦。每列都有不同类型的数据(数字,单词,混合,URL等)。我尝试了以下代码。但它只是给我翻译的第一列。

f= open('input.txt', "rb")    
fw=open("output.txt", "wb")
l=f.read()
for row in l:
    print ''.join(row)
p= [[row[i] for row in l] for i in range(75)]
print p

Alternaticely我试过

a = np.array(l)[np.newaxis]
print a.T

他们都没有给我完整的转置矩阵。

我甚至尝试过zip(* l)和map(zip(* l))。

感谢您的帮助。 谢谢。

1 个答案:

答案 0 :(得分:3)

f.read()是一个包含所有文件内容的巨型字符串。它不是某种结构化数据格式;特别是,for row in l迭代原始字符而不是有用数据行。

如果你想要更有用的东西,csv模块可能会有所帮助,或者像numpy.loadtxt这样的东西,这取决于文件实际包含的格式。