附加值以创建二维数组

时间:2018-10-23 15:38:53

标签: python numpy

我有一个文本文件,其中包含3240行和1列值。每81个值代表2-D框架中的一层。因此,在获得81个值之后,我将达到z = 2,然后达到162,z = 3,依此类推,直到结束(应为40 x水平)。我想在此文本文件中附加值以创建2-D数组,该数组基本上表示特定(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

我总是收到错误“列表索引超出范围”,老实说,我不知道我要完成的工作是否与我正在使用的代码正确。最终,我想将此值绘制在等高线图上。

编辑:在下面的注释之前和之后,我都尝试过使用reshape,但是出现错误“索引40超出了尺寸1的轴1的范围”。

1 个答案:

答案 0 :(得分:2)

研究了许多错误之后,下面是一个解决方法:

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)