python numpyで中央値を求める

python numpyで中央値を求める

pythonで、ライブラリnumpyのmedianを使用して、中央値を求めるサンプルコードを記述してます。pythonのバージョンは3.10.0でnumpyのmedianを使用してます。

環境

  • OS windows10 pro 64bit
  • python 3.10.0

numpyインストール

numpyをインストールされていない方は、pipでインストールしておきます。

pip install numpy

Successfully installed numpy-1.22.3

median使い方

medianを使用すると、配列データから中央値を求めることが可能です。

import numpy as np

np.median(配列)

以下は、用意した配列から中央値を求めるサンプルコードとなります。

import numpy as np

arr = np.array([10, 20, 30, 40, 20, 50])

print( np.median(arr) ) # 25.0

print(arr) # [10 20 30 40 20 50]

また、各列や各行に対して中央値を求める場合は、以下のように「axis」を使用します。

import numpy as np

arr = np.array([
    [10, 20, 30, 40, 20, 50],
    [1, 2, 3, 4, 5, 6]
    ])

# 各列の中央値
print( np.median(arr, axis=0) ) # [ 5.5 11.  16.5 22.  12.5 28. ]

# 各行の中央値
print( np.median(arr, axis=1) ) # [25.   3.5]

nan

配列に「nan」が含まれている場合は、「nan」が返ります。

import numpy as np

arr = np.array([
    [10, np.nan, 30, 40, 20, 50],
    [1, np.nan, 3, 4, 5, 6]
    ])

# 各行の中央値
print( np.median(arr, axis=1) ) # [nan nan]