Pandas DataFrame DataFrame.median()関数

胡金庫 2023年1月30日
  1. pandas.DataFrame.median() の構文:
  2. コード例:列軸に沿って中央値を検索するための DataFrame.median() メソッド
  3. コード例:行軸に沿って中央値を検索するための DataFrame.median() メソッド
  4. コード例:NaN 値を無視して中央値を求める DataFrame.median() メソッド
Pandas DataFrame DataFrame.median()関数

Python Pandas DataFrame.median() 関数は、DataFrame オブジェクトの要素の中央値を計算します指定された軸。

中央値は平均値ではなく、数値リストの値の中央です。

Pandas DataFrame の中央値

pandas.DataFrame.median() の構文:

DataFrame.median(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)

パラメーター

axis 行(axis = 0)または列(axis = 1)に沿って中央値を求める
skipna ブール。NaN 値を除外する(skipna=True)または NaN 値を含める(skipna=False
level 軸が MultiIndex の場合、特定のレベルとともにカウントします
numeric_only ブール。numeric_only = True の場合、floatint、および boolean 列のみを含めます
**kwargs 関数への追加のキーワード引数。

戻り値

level が指定されていない場合、要求された軸の値の中央値の Series を返し、それ以外の場合は中央値の DataFrame を返します。

コード例:列軸に沿って中央値を検索するための DataFrame.median() メソッド

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 7, 5, 10],
                   'Y': [4, 3, 8, 2, 9]})
print("DataFrame:")
print(df)

medians=df.median()
print("medians of Each Column:")
print(medians)

出力:

DataFrame:
    X  Y
0   1  4
1   2  3
2   7  8
3   5  2
4  10  9
medians of Each Column:
X    5.0
Y    4.0
dtype: float64

XY の両方の列の中央値を計算し、最後に各列の中央値を持つ Series オブジェクトを返します。

Pandas で DataFrame の特定の列の中央値を求めるには、その列に対してのみ median() 関数を呼び出します。

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 7, 5, 10],
                   'Y': [4, 3, 8, 2, 9]})
print("DataFrame:")
print(df)

medians=df["X"].median()
print("medians of Each Column:")
print(medians)

出力:

DataFrame:
    X  Y
0   1  4
1   2  3
2   7  8
3   5  2
4  10  9
medians of Each Column:
5.0

DataFrameX 列の値の中央値のみを示します。

コード例:行軸に沿って中央値を検索するための DataFrame.median() メソッド

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 7, 5, 10],
                   'Y': [4, 3, 8, 2, 9],
                   'Z': [2, 7, 6, 10, 5]})
print("DataFrame:")
print(df)

medians=df.median(axis=1)
print("medians of Each Row:")
print(medians)

出力:

DataFrame:
    X  Y   Z
0   1  4   2
1   2  3   7
2   7  8   6
3   5  2  10
4  10  9   5
medians of Each Row:
0    2.0
1    3.0
2    7.0
3    5.0
4    9.0
dtype: float64

すべての行の中央値を計算し、最後に各行の中央値を持つ Series オブジェクトを返します。

Pandas の DataFrame の特定の行の中央値を求めるには、その行に対してのみ median() 関数を呼び出します。

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 7, 5, 10],
                   'Y': [4, 3, 8, 2, 9],
                   'Z': [2, 7, 6, 10, 5]})

print("DataFrame:")
print(df)

median=df.iloc[[0]].median(axis=1)
print("median of 1st Row:")
print(median)

出力:

DataFrame:
    X  Y   Z
0   1  4   2
1   2  3   7
2   7  8   6
3   5  2  10
4  10  9   5
median of 1st Row:
0    2.0
dtype: float64

DataFrame の 1 行目の値の中央値のみを示します。

インデックスに基づいて行を選択するには、iloc メソッドを使用します。

コード例:NaN 値を無視して中央値を求める DataFrame.median() メソッド

skipna パラメータのデフォルト値、つまり skipna=True を使用して、NaN 値を無視することにより、指定された軸に沿った DataFrame の中央値を見つけます。

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 7, None, 10, 8],
                   'Y': [None, 3, 8, 2, 9, 6],
                   'Z': [2, 7, 6, 10, None, 5]})

print("DataFrame:")
print(df)

median=df.median(skipna=True)
print("medians of Each Row:")
print(median)

出力:

DataFrame:
      X    Y     Z
0   1.0  NaN   2.0
1   2.0  3.0   7.0
2   7.0  8.0   6.0
3   NaN  2.0  10.0
4  10.0  9.0   NaN
5   8.0  6.0   5.0
medians of Each Row:
X    7.0
Y    6.0
Z    6.0
dtype: float64

skipna = True を設定すると、DataFrameNaN は無視されます。NaN 値を無視することで、列軸に沿った DataFrame の中央値を計算できます。

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 7, None, 10],
                   'Y': [5, 3, 8, 2, 9],
                   'Z': [2, 7, 6, 10, 4]})

print("DataFrame:")
print(df)

median=df.median(skipna=False)
print("medians of Each Row:")
print(median)

出力:

DataFrame:
      X  Y   Z
0   1.0  5   2
1   2.0  3   7
2   7.0  8   6
3   NaN  2  10
4  10.0  9   4
medians of Each Row:
X    NaN
Y    5.0
Z    6.0
dtype: float64

ここでは、列 XNaN 値が存在するため、列 X の中央値の NaN 値を取得します。

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook

関連記事 - Pandas DataFrame