2つのファイルがありますComma-separated values (csv)
。各ファイルには1000列と1000行があります(つまり、各csvファイルは1000×1000行列を形成します)。
The values for every cell in the first csv file represent the mean.
The values for every cell in the second csv file represent the standard deviation.
新しいcsvファイル(また1000x1000)を作成したいと思います。この新しいcsvファイルの各セルは、変動係数(CV){cv = std / mean}を表します。
この新しいcsvスプレッドシートを取得するには、2番目のcsvファイルのセルを最初のcsvファイルのセルに分割できますか?
たとえば(各csvファイルには、問題を明確にするために2つの列の一部のみが含まれています。):
First csv:
2 4 . . . .
2 4 . . . .
2 2 . . . .
2 8 . . . .
. . . . . .
. . . . . .
Second csv:
8 2 . . . .
8 4 . . . .
8 2 . . . .
8 2 . . . .
. . . . . .
. . . . . .
New csv:
4 0.5 . . .
4 1 . . . .
4 1 . . . .
4 0.25 . . .
. . . . . .
. . . . . .
PS。 Matlabでできます。しかし、Unix / Linuxコマンドでこれを達成する方法を知りたいです。
ベストアンサー1
GNU Octaveを「Unix / Linuxコマンド」と見なすことで、簡単に次のようにすることができます。
octave -qf << "EOF"
m = csvread("first.csv");
s = csvread("second.csv");
csvwrite("new.csv", s ./ m);
EOF