Data Analysis with Pandas

Pandas達人:DataFrame列の効率的な合計

Spread the love

Pandasは、データ操作と分析のための強力なPythonライブラリであり、列値の合計を計算することは頻繁に行われるタスクです。この記事では、基本的な合計、グループ化による累積和、条件付き合計などを網羅し、Pandas DataFrameでデータを効率的に合計する様々な方法を探ります。

目次:

  1. Pandas DataFrame列の基本的な合計
  2. groupby()を使用した累積和
  3. 他の列の値に基づく条件付き合計

1. Pandas DataFrame列の基本的な合計

Pandas DataFrame列を合計する最も簡単な方法は、.sum()メソッドを使用することです。これは、指定された列のすべての値の合計を直接計算します。数値以外の値は無視されます。


import pandas as pd

data = {'A': [1, 2, 3, 4, 5],
        'B': [6, 7, 8, 9, 10],
        'C': [11, 12, 13, 14, 15]}
df = pd.DataFrame(data)

# 列'A'の合計
sum_A = df['A'].sum()
print(f"列Aの合計: {sum_A}")  # 出力: 列Aの合計: 15

# 列'B'の合計
sum_B = df['B'].sum()
print(f"列Bの合計: {sum_B}")  # 出力: 列Bの合計: 40

# すべての数値列の合計
sum_all = df.sum()
print(f"すべての数値列の合計:n{sum_all}")

2. groupby()を使用した累積和

グループ内の累積和を計算するには、groupby()メソッドと.cumsum()を組み合わせる必要があります。これにより、さまざまなカテゴリにわたる効率的な集計が可能になります。


import pandas as pd

data = {'Group': ['X', 'X', 'Y', 'Y', 'Y'],
        'Value': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)

# 'Group'でグループ化し、'Value'の累積和を計算する
cumulative_sum = df.groupby('Group')['Value'].cumsum()
df['Cumulative Sum'] = cumulative_sum
print(df)

これにより、「累積和」列を持つDataFrameが出力され、各グループの累積和が表示されます。

3. 他の列の値に基づく条件付き合計

条件付き合計を使用すると、他の列に適用される条件に基づいて値を合計できます。ブールインデックスと.sum()メソッドでこれを実現します。


import pandas as pd

data = {'Category': ['A', 'B', 'A', 'B', 'A'],
        'Sales': [100, 150, 200, 250, 300]}
df = pd.DataFrame(data)

# 'Category'が'A'の場合の'Sales'の合計
sum_A = df[df['Category'] == 'A']['Sales'].sum()
print(f"Category AのSales合計: {sum_A}")  # 出力: Category AのSales合計: 600

# 'Sales'が200より大きい場合の'Sales'の合計
sum_greater_200 = df[df['Sales'] > 200]['Sales'].sum()
print(f"200より大きいSalesの合計: {sum_greater_200}") # 出力: 200より大きいSalesの合計: 550

これは、強力な条件付き集計のために合計の前にDataFrameをフィルタリングする方法を示しています。これらの手法を、具体的なデータと要件に合わせて調整してください。Pandasは、効率的なデータ分析のための多くのツールを提供しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です