Python | リストの辞書から同じキーの値の合計値を取得する方法

2023-02-23Python 数値・計算,Python 辞書,Python

Python | リストの辞書から同じキーの値の合計値を取得する方法

Pythonのリストの辞書から同じキーの値を演算子や「pandas」ライブラリを使って計算する方法とサンプルコードを紹介しています。

確認環境

Windows11 ローカル
Python python-3.11.1

for文と演算子でリストの辞書から同じキーの値の合計値を取得する

Pythonのfor文でリストの辞書を反復しながら比較演算子で同じキーの値の合計値を取得する方法になります。

サンプルコードでは以下の手順で特定のキーの値の合計値を取得しています。

  1. キー名と数値を値に持つリストの辞書を用意する
  2. 合計値を代入する変数「result」を値0で作成
  3. for文で辞書を反復処理
  4. 特定のキー名の値を「result」に合算していく

以下の例では、キー名「value」にある値の合計値を計算しています。

data = [
	{'name': 'apple', 'value': 150},
	{'name': 'banana', 'value': 50},
	{'name': 'pine', 'value': 200}
]

result = 0
for item in data:
	result += item['value']

print(result)
# 400

pandasライブラリでリストの辞書から同じキーの値の合計値を取得する

Pythonの「pandas」ライブラリを使ってリストの辞書から同じキーの値の合計値を取得する事が可能です。
DataFrame()で辞書からData Frameを作成、to_dict()でキー名の値のみの辞書にしまて計算に使います。

サンプルコードでは以下の手順で特定のキーの値の合計値を取得しています。

  1. キー名と数値を値に持つリストの辞書を用意する
  2. DataFrame()で辞書をData Frameにする
  3. to_dict()でキー名の値のみの辞書にする
  4. sum()で値を合算する

以下の例では、sum()を使ってキー名「value」の値の合計値を取得しています。

import pandas as pd

data = [
	{'name': 'apple', 'value': 150},
	{'name': 'banana', 'value': 50},
	{'name': 'pine', 'value': 200}
]

result = pd.DataFrame(data).sum().to_dict()['value']

print(result)
# 400