🦧

axisについて

2023/06/24に公開

max関数などに使用されるaxisについて解説します。

axisとは、英語で「軸」という意味であり、プログラミングでもそのまま軸の意味を持ちます。
そのため行列などが使われる場面でよく出てきます。

例文です

import numpy as np

x = np.array(
[[1, 2, 3], 
[4, 5, 6], 
[7, 8, 9]]
)
print(np.max(x, axis=None))
print(np.max(x, axis=0))
print(np.max(x, axis=1))
9       # 行列の最大値を出力
[7 8 9] # 各列の最大値を出力
[3 6 9] # 各行の最大値を出力

上記のように、maxなどの操作を列単位、または行単位で行うことができます。

またnumpyの行列は[...,深さ,行,列]の様になっておりaxis=[...,2,1,0]と指定できます。つまりaxis=0と指定すれば列に対して操作が行えるということになります。

解説は以上です。

おまけ

import numpy as np

x = np.array(
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
print(np.max(x, axis=0, keepdims=True))

とすると

[[7 8 9]]

の様に二次元行列という行列の形を保持したまま出力することができます。形を崩したくない!って時に(あまり無いかもしれませんが)おすすめです。

最後まで読んでいただきありがとうございました!それでは!

Discussion