【Pandas入門】Pythonでデータフレームの数値列の平均値を取得する方法
データ分析を行う際、特定の列の平均値や、数値を含むすべての列の平均値を取得したいケースはよくあります。そんなときに活躍するのが mean() 関数です。
「平均(mean)」とは、データセット内のすべての値を合計し、その値の総数で割ることで求められる統計量です。Pandasではこの操作をわずか1行で実行できます。
それでは、実際のコード例を見ていきましょう。
コード例
import pandas as pd
my_data = {'Name':pd.Series(['Tom','Jane','Vin','Eve','Will']),
'Age':pd.Series([45, 67, 89, 12, 23]),
'value':pd.Series([8.79,23.24,31.98,78.56,90.20])
}
print("The dataframe is :")
my_df = pd.DataFrame(my_data)
print(my_df)
print("The mean is :")
print(my_df.mean())出力結果
The dataframe is : Name Age value 0 Tom 45 8.79 1 Jane 67 23.24 2 Vin 89 31.98 3 Eve 12 78.56 4 Will 23 90.20 The mean is : Age 47.200 value 46.554 dtype: float64
コードの解説
まず必要なライブラリをインポートし、使いやすいようにエイリアス名(別名)を付けています。ここでは
pandasをpdとしています。キーと値のペアからなる辞書を作成します。各キーに対応する値は、実際にはSeriesというデータ構造になっています。
作成した辞書は、後ほど
pandasライブラリのDataFrame関数に引数として渡されます。生成されたデータフレームをコンソールに出力して確認します。
ここでの目的は、数値を含むすべての列の平均値を計算することです。文字列型の「Name」列は自動的に除外されます。
ドット演算子(
.)を使って、データフレームに対してmean()関数を呼び出します。計算された数値列ごとの平均値がコンソールに出力されます。
補足:特定の列だけ平均を求める場合
すべての列ではなく、特定の1つの列だけ平均値を取得したい場合は、次のように列名を指定します。
print(my_df['Age'].mean())
このように mean() 関数を使えば、データフレーム全体でも個別の列でも、簡単に平均値を算出できます。欠損値(NaN)が含まれる場合はデフォルトで除外されるため、実務のデータ処理でも安心して利用できる便利な関数です。
-
Python・Pandasでデータフレームの列に含まれるNaNの数をカウントする方法
Pandasのデータフレームで特定の列に含まれるNaN(欠損値)の数をカウントしたい場合、isna()メソッドとsum()メソッドを組み合わせるのが最もシンプルで一般的な方法です。isna()は各要素がNaNかどうかを判定し、sum()でその結果を合計することでNaNの出現回数を求められます。必要なライブラリのインポートまず、PandasとNumPyをそれぞれ別名(エイリアス)付きでインポートします。import pandas as pd import numpy as npサンプルデータフレームの作成次に、テスト用のデータフレームを作成します。ここでは「Units_Sold」列に意図的にNa
-
【Python】Pandas DataFrameからnull(欠損値)行を削除する方法|dropna()の使い方
PandasのDataFrameからnull(NaN)行を削除するには、dropna()メソッドを使用します。この記事では、NaNを含むCSVファイルを読み込み、dropna()で欠損値を含む行を取り除くまでの手順を、サンプルコードと実行結果とともにわかりやすく解説します。前提:NaNを含むCSVファイル今回の例では、一部にNaN(null値)が含まれる以下のようなCSVファイル(CarRecords.csv)を使用します。手順1:read_csv()でCSVファイルを読み込むまずpandasをインポートし、read_csv()を使ってCSVファイルを読み込みます。ここではデスクトップ上に保存