Numpy配列の統計関数 mean(0)の意味

Numpy配列の統計関数 mean(0)の意味

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.]