Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 附加值以创建二维数组_Python_Numpy - Fatal编程技术网

Python 附加值以创建二维数组

Python 附加值以创建二维数组,python,numpy,Python,Numpy,我有一个文本文件,有3240行和1列值。每81个值表示二维框架中的一个层。所以在81个值之后,我将达到z=2,然后是162,z=3,依此类推,直到结束(应该是40 x级别)。我想在这个文本文件中附加值来创建一个二维数组,它基本上表示一个特定(x,z)点的值。以下是我所拥有的: df = pd.read_excel("/nfs/home11/grad/2017/et654149/ATM562/HW3/HW3atm562.xlsx") pivals=df.as_matrix() pi=[]

我有一个文本文件,有3240行和1列值。每81个值表示二维框架中的一个层。所以在81个值之后,我将达到z=2,然后是162,z=3,依此类推,直到结束(应该是40 x级别)。我想在这个文本文件中附加值来创建一个二维数组,它基本上表示一个特定(x,z)点的值。以下是我所拥有的:

 df = pd.read_excel("/nfs/home11/grad/2017/et654149/ATM562/HW3/HW3atm562.xlsx")
 pivals=df.as_matrix()
 pi=[]
 l=np.arange(0, 3320, 41)
 count=0
 i=0
 for i in range(len(l)):
         pi[0][i].append(pivals[i])
         count=count+1
我不断得到错误“列表索引超出范围”,老实说,我不知道我所尝试完成的代码是否正确。最后,我想在等高线填充图上绘制该值


编辑:我在下面的评论前后都尝试过使用重塑,但我得到了错误“索引40超出了大小为1的轴1的界限”。

在调查了大量错误后,这里有一个解决方案:

x = 40 
y=81 
z=[[0 for row in range(0,x)] for col in range(0,y)] 
for i in range(x): 
      for j in range(y): 
           z.append(pivals[i+j])
a = array(z)
a = a.reshape(81, 41)

“numpy.ndarray”对象不可调用是我得到的错误。尝试使用np.reforme(pivals[81,40]),得到“索引40超出大小为1的轴1的界限”。您所做的只是运行我提供的代码,对吗@Eliturasky是的,我只是简单地运行了您提供的内容。在调用Reformethe之前,请尝试使用
np.asarray(pivals)
将矩阵转换为数组。因为矩阵已经使pivals成为数组。这就是为什么在我最初的评论中,我尝试使用括号而不是括号(我想你应该这样做,因为它是一个数组)。但是,这样做会导致我在上面发布的错误。这段代码可以工作,但是我现在尝试在等高线图上简单地绘制它之后,我得到了以下错误:ValueError:使用序列设置数组元素。