私はPythonに非常に慣れていないため、同様の質問を見つけるために多くのことを検索しました。この質問Computing averages of records from multiple files with python で説明されているのと同様のことをしたいと思い ます
ただし、各値の平均を取得する代わりに (この例ではすべての値が数値です)、1 つの列の平均を取得したいのですが、他の列の値はすべて同じにしておきます。"
例えば:
fileA.txt:
0.003 0.0003 3 Active
0.003 0.0004 1 Active
fileB.txt:
0.003 0.0003 1 Active
0.003 0.0004 5 Active
そして、次の出力ファイルを生成したいと思います
output.txt
0.003 0.0003 2 Active
0.003 0.0004 3 Active
列 1 と 2 も数値ですが、100 個のファイル間で同じ位置の同じ値になります。したがって、列 3 の 100 ファイルにわたる各要素の平均値のみに関心があります。
また、 python を使用して複数のファイルからのレコードの平均を計算するという質問のコードは、私のファイルを読み取るために機能します。ファイルがたくさんある場合は役に立ちません。どうすればそれを最適化できますか?
次のコードを使用して、ファイルを読み取ることができます。
import numpy as np
result = []
for i in my_files:
a = np.array(np.loadtxt(i, dtype = str, delimiter = '\t', skiprows = 1))
result.append(a)
result = np.array(result)
この質問で提案されている同様のコードを使用しました numpy 配列を初期化します
私の各ファイルは、4 列あたり約 1500 行になります。np.meanを使用しようとしましたが、データの一部が文字列型であるため、おそらく機能しません。
よろしくお願いします。