Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python】Pandas DataFrameの列の標準偏差を計算する方法

Pandasで標準偏差を計算するには

PythonのPandasライブラリでは、std()メソッドを使うことで、DataFrameの各列の標準偏差を簡単に計算できます。統計分析やデータのばらつきを把握したい場面で非常に便利な機能です。

まずは、必要なPandasライブラリをインポートしましょう。

import pandas as pd

サンプルDataFrameの作成

次に、2つの列を持つDataFrameを作成します。ここでは「Car(車種)」と「Units(販売台数)」という列を含むデータを用意しました。

dataFrame1 = pd.DataFrame(
    {
        "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
        "Units": [100, 150, 110, 80, 110, 90]
    }
)

std()メソッドで標準偏差を求める

「Units」列の値に対してstd()メソッドを呼び出すだけで、その列の標準偏差を取得できます。

print("Standard Deviation of Units column from DataFrame1 = ", dataFrame1['Units'].std())

同様の手順で、2つ目のDataFrame(商品名と価格のデータ)からも「Price」列の標準偏差を計算してみましょう。

補足:標本標準偏差と母標準偏差について

Pandasのstd()メソッドは、デフォルトでddof=1(不偏分散、いわゆる標本標準偏差)を使用します。母標準偏差を求めたい場合は、dataFrame['列名'].std(ddof=0)のように引数を指定してください。

完全なコード例

以下が、ここまでの内容をまとめた完全なサンプルコードです。

#
# Python - Pandas DataFrameの列の値の標準偏差を計算する
#

import pandas as pd

# DataFrame1を作成
dataFrame1 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],
      "Units": [100, 150, 110, 80, 110, 90]
   }
)

print("DataFrame1 ...\n", dataFrame1)

# 「Units」列の値の標準偏差を求める
print("Standard Deviation of Units column from DataFrame1 = ", dataFrame1['Units'].std())

# DataFrame2を作成
dataFrame2 = pd.DataFrame(
   {
      "Product": ['TV', 'PenDrive', 'HeadPhone', 'EarPhone', 'HDD', 'SSD'],
      "Price": [8000, 500, 3000, 1500, 3000, 4000]
   }
)

print("\nDataFrame2 ...\n", dataFrame2)

# 「Price」列の値の標準偏差を求める
print("Standard Deviation of Price column from DataFrame2 = ", dataFrame2['Price'].std())

実行結果

上記のコードを実行すると、次のような出力が得られます。

DataFrame1 ...
         Car   Units
0       BMW     100
1      Lexus     150
2       Audi     110
3      Tesla      80
4    Bentley     110
5     Jaguar      90
Standard Deviation of Units column from DataFrame1 = 24.2212028328

DataFrame2 ...
    Price    Product
0    8000         TV
1     500   PenDrive
2    3000  HeadPhone
3    1500    EarPhone
4    3000        HDD
5    4000        SSD
Standard Deviation of Price column from DataFrame2 = 2601.28173535

まとめ

Pandasのstd()メソッドを使えば、たった1行のコードでDataFrameの特定の列の標準偏差を計算できます。数値データのばらつきや散らばり具合を把握したいときに、ぜひ活用してみてください。

  1. PythonのPandasでデータフレームの特定の列の標準偏差を求める方法

    標準偏差とは標準偏差とは、データセット内の値がどの程度散らばっているかを示す統計量です。また、各値がデータセットの算術平均からどれだけ離れているかを測る指標でもあります。標準偏差が小さいほど値は平均の近くに集中し、大きいほど値が広く分散していることを意味します。特定の列の標準偏差を求める手順データ分析では、数値型の特定の列だけの標準偏差を求めたいケースがよくあります。そんなときに便利なのが std() 関数です。標準偏差を計算したい列をデータフレームから列名で指定し、ドット演算子(.)を使って std() を呼び出すだけで、簡単に求められます。なお、列名だけでなく、列のインデックス番号(位置)

  2. 【Python・Pandas】データフレームの特定の列の合計値を取得する方法

    データ分析をしていると、データフレーム(DataFrame)の中から特定の列だけの合計値を求めたい場面によく出会います。そんなときに便利なのが、Pandasのsum関数です。 合計を計算したい列をsum関数に渡すだけで、その列の合計値を簡単に取得できます。さらに、axis引数を指定すれば、列方向・行方向のどちらで集計するかも自由に制御可能です。 それでは、具体的なコード例を見ていきましょう。 サンプルコード import pandas as pd my_data = { Name: pd.Series([Tom, Jane, Vin, Eve, Will]), Age: p