我有一个包含 3240 行和 1 列值的文本文件。每 81 个值代表 2-D 框架中的一层。因此,在 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
我不断收到错误“列表索引超出范围”,老实说,我不知道我正在尝试完成的事情对于我正在使用的代码是否正确。最终我想在等高线填充图上绘制这个值。
编辑:我尝试在下面的评论之前和之后使用 reshape,但收到错误“索引 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)
关于python - 附加值以创建二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52952948/