2

我正在使用 python(特别是 numpy、scipy 和 matplotlib)从多个文件中读取数据。具体来说,我正在尝试提取 Z 值 9 个不同的点云数据集(.ply 格式:X、Y、Z、R、G、B)。

使用提取的 Z(或高度值),我试图制作高度的相对频率直方图,其中包含 9 个文件中每个 bin 的平均相对频率、标准偏差和置信区间。

我有一个为单个文件执行此操作的工作代码,但在尝试将其扩展为处理 9 个文件时遇到了困难。我可以简单地使用多行冗余代码进行暴力破解,但我正在努力提高效率。

我有一些代码的效果:

filelist = os.listdir('path to 9 ply files')
   for files in filelist:
   CAM_XYZ = loadtxt(files,skiprows = 14, usecols = (0,1,2))
   CAMt    = transpose(CAM_XYZ)
   CAM_Z   = CAMt[2]

我想从每个文件中提取 Z 值/列,然后将它们附加到另一个数组。理想情况下,这个最终数组将有 9 列,每个文件的 Z 值。我只是坚持我将如何实际执行此操作,我当前代码的设置方式只是覆盖了值。

任何建议/看的地方将不胜感激。

4

1 回答 1

1

有什么理由不能将所有值附加到一个列表中?

filelist = os.listdir('path to 9 ply files')
z_values = []
for files in filelist:
  CAM_XYZ = loadtxt(files,skiprows = 14, usecols = (0,1,2))
  CAMt = transpose(CAM_XYZ)
  z_values.append(CAMt[2])

这似乎是最简单的解决方案。

于 2012-11-12T22:55:49.383 回答