python - 附加值以创建二维数组

标签 python numpy

我有一个包含 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/

相关文章:

python - 有没有办法暂时删除 PyInstaller 的非控制台选项?

python - 如何使用 python 将 ascii 编码的换行符写入文件

python - Pillow :libopenjp2.so.7:无法打开共享对象文件:没有这样的文件或目录

python - pip安装networkit错误

Python:DeprecationWarning:elementwise == 比较失败;这将在未来引发错误

python - 从元组生成二维 bool 数组

python - 从 SQL 数据库导入表并按日期过滤行时,将 Pandas 列解析为 Datetime

python - pandas astype python bool 而不是 numpy.bool_

python - 使用选项从 Matlab 2017 调用 Python

Python,如何在空的 numpy 数组中填充一列