Numpy配列の統計関数で平均を求める mean()関数ですが、時々 mean(0)のような記述があります。
これは mean(axis=0)を省略した記述です。
axisは多次元配列に対する引数で、引数axisに0を渡すと列ごと、1を渡すと行ごとの演算結果が得られます。
通常、0は行、1は列を表しますが、見た目は逆のように思えますが、「0」は縦方向に演算されますが、それは各行に渡って演算していますし、「1」は横方向に演算されますが、各列に渡って演算しています。
サンプル例
d = np.arange(9).reshape(3,3) print(d) print('------axis=0の例--------') print(d.mean(axis=0)) #縦列平均 print('------axis=1の例-------') print(d.mean(axis=1)) #横列平均
結果
[[0 1 2]
[3 4 5]
[6 7 8]]
——axis=0の例——–
[3. 4. 5.]
——axis=1の例——–
[1. 4. 7.]
次のように記述しても同じ結果になります。
d = np.arange(9).reshape(3,3) print(d) print('-------------------') print(d.mean(0)) #縦列平均 print('-------------------') print(d.mean(1)) #横列平均
結果
[[0 1 2]
[3 4 5]
[6 7 8]]
——————-
[3. 4. 5.]
——————-
[1. 4. 7.]