私は多くの軌道ファイルを持っています。それらのそれぞれは、位置x
、y
およびz
を表す3つの列を持ちます。私は、基本的に次のように定義されている平均位置を計算したい - 与えられた行について、すべての軌道からの平均をx
として計算する。同様にy
およびz
ディメンションについても同様です。numpyで多くの軌道からの平均軌道を計算する
したがって、私はこれらの配列のそれぞれを反復処理し、すべてx
を1つのリストに格納し、y
とz
についても同様に格納しています。後で私は平均を計算しています。サンプルコードの下を参照してください。
import numpy as np
import pandas as pd
file_list = ['test1_1', 'test2_4', 'test3_1', 'test4_3', 'test1_3']
position_data_list = []
for f in file_list:
position_data = pd.read_csv(f)
position_data_list.append(position_data.values)
position_x_list = []
position_y_list = []
position_z_list = []
for position_data in position_data_list:
px = _position_data[:, 0]
py = _position_data[:, 1]
pz = _position_data[:, 2]
position_x_list.append(px)
position_y_list.append(py)
position_z_list.append(pz)
position_x_list = np.array(position_x_list).T
position_y_list = np.array(position_y_list).T
position_z_list = np.array(position_z_list).T
position_x_mean = np.mean(position_x_list, axis=1)
position_y_mean = np.mean(position_y_list, axis=1)
position_z_mean = np.mean(position_z_list, axis=1)
同じことを行うには良い方法はありますか?
上記のコードを説明します。 files
がfile_1
,file_2
およびfile_3
であるとする。各ファイルはx
,y
およびz
の列を持ち、各行はタイムスタンプt1
,t2
,t3
、t4
およびt5
となります。 x1
ファイルfile_1
、file_2
及び行t1
のfile_3
からx
の平均である平均軌道は、t1
からt5
にすべての行を含むべきです。など...
をサンプルケースを追加しますか? – Divakar
@Divakar:どういう意味ですか?前述のように、軌跡ファイル 'test1_1'は3つの列x、y、zを持つcsvです。 –
しかし、私はそれらのCSVファイルが何であるか分かりません。ですから、 'position_data_list'に入っている最小限の代表的なデータがあなたを助けてくれるかもしれません。彼らの形や大きさなどと同じように、 – Divakar