Python 如何使用numpy重塑此阵列?

Python 如何使用numpy重塑此阵列?,python,numpy,Python,Numpy,我的文件看起来像这样 3.766204987418e+00 3.016098278453e+00 2.882128625608e+00 2.789447648712e+00 2.704276250639e+00 2.540138572067e+00 2.318587560199e+00 2.272640952350e+00 2.138794921589e+00 我也有代码来阅读它 import numpy as np zxyr=[] with open('det.txt

我的文件看起来像这样

3.766204987418e+00  3.016098278453e+00  2.882128625608e+00  2.789447648712e+00  2.704276250639e+00 
 2.540138572067e+00  2.318587560199e+00  2.272640952350e+00  2.138794921589e+00 
我也有代码来阅读它

import numpy as np

zxyr=[]

with open('det.txt') as f:
    zxyr=list(f)

c=np.asarray(zxyr)
print c.shape
print len(c)
产生

(2,)
2
如何重塑阵列有9,形状

编辑 我试过了

import numpy as np      

c = np.loadtxt('det.txt')
print (c.shape)
但是


正如@B.M.在评论中所说,您需要使用np.loadtxt。如下图所示:

import numpy as np      

c = np.loadtxt('mytextfile.txt)
print (c.shape)
这将从文件中获取数据并将其放入numpy数组中。 如果我的示例中的文本文件与您的相同,那么它将具有您所需要的形状9

您可以执行的另一种方法是:

with open('mytextfile.txt') as f:
    content = f.readlines()

好方法是c=np.loadtxt'test.txt'。因为你的档案里有两行。删除换行符。您必须以数字形式读入文件。打印出zxyr,您就会看到问题所在。您为numpy提供了构建所需阵列的错误信息。重塑在这一点上没有帮助。我认为错误是因为文本文件中的两行有不同的列数。尝试使用numpy.genfromtxt,使用@sinisha我已经更新了我的答案。看看这是否有帮助。
with open('mytextfile.txt') as f:
    content = f.readlines()