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

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

データ分析をしていると、データフレーム(DataFrame)の中から特定の列だけの合計値を求めたい場面によく出会います。そんなときに便利なのが、Pandasのsum関数です。

合計を計算したい列をsum関数に渡すだけで、その列の合計値を簡単に取得できます。さらに、axis引数を指定すれば、列方向・行方向のどちらで集計するかも自由に制御可能です。

それでは、具体的なコード例を見ていきましょう。

サンプルコード

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 sum of 'Age' column is :")
print(my_df['Age'].sum())

実行結果

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 sum of 'Age' column is :
236

コードの解説

  • まず、必要なライブラリであるpandasをインポートし、利便性のために「pd」という別名(エイリアス)を付けています。

  • キーと値のペアからなる辞書を作成します。このときの値は、実体としてはSeries(シリーズ)というデータ構造です。

  • 作成した辞書を、pandasライブラリの「DataFrame」関数に渡すことで、データフレームが生成されます。

  • 作成したデータフレームをコンソールに出力し、中身を確認します。

  • 今回は「Age」列の合計を計算します。my_df['Age']のように対象の列を抽出し、そこへsum関数を適用することで合計値が得られます。

  • 計算結果(236)がコンソールに出力されます。

すべての数値列の合計を一括で取得する

個々の列を指定しなくても、データフレーム全体にsum関数を適用すれば、各数値列の合計をまとめて取得できます。文字列型の「Name」列は自動的に除外されます。

print(my_df.sum(numeric_only=True))
Age      236.00
value    232.77
dtype: float64

axis引数で集計方向を切り替える

sum関数はデフォルトでaxis=0(縦方向=列ごとの合計)として動作します。一方、axis=1を指定すると横方向、つまり行ごとの合計が計算されます。

# 行ごとの合計を計算する場合
print(my_df.sum(axis=1, numeric_only=True))
0     53.79
1     90.24
2    120.98
3     90.56
4    113.20
dtype: float64

このように、sum関数ひとつで列単位・行単位の集計を柔軟に行えます。データ分析で頻繁に使う基本操作なので、ぜひマスターしておきましょう。

  1. Python・Pandasでデータフレームの列に含まれるNaNの数をカウントする方法

    Pandasのデータフレームで特定の列に含まれるNaN(欠損値)の数をカウントしたい場合、isna()メソッドとsum()メソッドを組み合わせるのが最もシンプルで一般的な方法です。isna()は各要素がNaNかどうかを判定し、sum()でその結果を合計することでNaNの出現回数を求められます。必要なライブラリのインポートまず、PandasとNumPyをそれぞれ別名(エイリアス)付きでインポートします。import pandas as pd import numpy as npサンプルデータフレームの作成次に、テスト用のデータフレームを作成します。ここでは「Units_Sold」列に意図的にNa

  2. 【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ファイルを読み込みます。ここではデスクトップ上に保存