2

複数のファイルからデータを読み込むために python (具体的には numpy、scipy、および matplotlib) を使用しています。具体的には、9 つ​​の異なる点群データセット (.ply 形式: X、Y、Z、R、G、B) の Z 値を抽出しようとしています。

抽出された Z (または高さの値) を使用して、高さの相対頻度ヒストグラムを作成しようとしています。これには、9 つ​​のファイルからの各ビンの平均相対頻度、標準偏差、および信頼区間が含まれます。

単一のファイルに対してこれを行う作業コードがありますが、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 値/列を抽出し、それらを別の配列にアタッチしたいと思います。理想的には、この最終的な配列には、各ファイルの Z 値を含む 9 つの列があります。私は実際にこれを行う方法に固執しています。現在のコードが設定されている方法では、値を上書きするだけです。

提案/見るべき場所は大歓迎です。

4

1 に答える 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 に答える