Pandasのsum関数の基本
Pandasのsum()
関数は、データフレームやシリーズの数値データの合計を計算するための関数です。この関数は、特定の軸に沿って(行または列)値を合計します。
以下に基本的な使用方法を示します。
import pandas as pd
# データフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15]
})
# 列の合計を計算
column_sum = df.sum(axis=0)
print(column_sum)
# 行の合計を計算
row_sum = df.sum(axis=1)
print(row_sum)
このコードでは、df.sum(axis=0)
は各列の合計を計算し、df.sum(axis=1)
は各行の合計を計算します。axis=0
は列方向、axis=1
は行方向を指します。
また、sum()
関数は欠損値(NaN)を無視します。欠損値を無視せずに合計を計算したい場合は、sum()
関数にskipna=False
を指定します。
# 欠損値を含むデータフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3, None, 5],
'B': [6, None, 8, 9, 10],
'C': [11, 12, 13, 14, None]
})
# 列の合計を計算(欠損値を無視)
column_sum = df.sum(axis=0, skipna=True)
print(column_sum)
# 列の合計を計算(欠損値を無視しない)
column_sum_no_skip = df.sum(axis=0, skipna=False)
print(column_sum_no_skip)
このように、Pandasのsum()
関数は、データ分析において非常に便利な関数です。次のセクションでは、sum()
関数の具体的な使用例を見ていきましょう。
sum関数の使い方のサンプルデータ
ここでは、Pandasのsum()
関数の使い方を理解するためのサンプルデータを作成し、その使用例を示します。
まず、以下のようにPandasのデータフレームを作成します。
import pandas as pd
import numpy as np
# データフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5, np.nan],
'B': [6, 7, 8, 9, 10, np.nan],
'C': ['apple', 'banana', 'cherry', 'durian', 'elderberry', 'fig'],
'D': [True, False, True, False, True, True]
})
print(df)
このデータフレームは、数値、文字列、ブール値を含む4つの列(’A’、’B’、’C’、’D’)を持っています。また、各列には6つの行があり、最後の行には欠損値(NaN)が含まれています。
次に、このデータフレームに対してsum()
関数を適用します。
# 列の合計を計算
column_sum = df.sum(axis=0)
print(column_sum)
このコードは、各列の合計を計算します。数値データの列(’A’、’B’)では、値の合計が計算されます。文字列データの列(’C’)では、文字列が連結されます。ブール値の列(’D’)では、Trueは1として、Falseは0として扱われ、その合計が計算されます。
このように、Pandasのsum()
関数は、データの種類に応じて異なる動作をします。次のセクションでは、より具体的な使用例を見ていきましょう。
Pandasのsum関数で合計を算出
Pandasのsum()
関数を使って、データフレームの列や行の合計を算出する方法を見ていきましょう。
まず、以下のようなデータフレームを作成します。
import pandas as pd
# データフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15]
})
print(df)
このデータフレームに対して、sum()
関数を適用して列の合計を算出します。
# 列の合計を計算
column_sum = df.sum(axis=0)
print(column_sum)
このコードは、各列の合計を計算します。axis=0
を指定することで、列方向の合計を計算します。
同様に、行の合計を算出するには、axis=1
を指定します。
# 行の合計を計算
row_sum = df.sum(axis=1)
print(row_sum)
このように、Pandasのsum()
関数を使うと、データフレームの列や行の合計を簡単に算出することができます。次のセクションでは、より詳細な使用例を見ていきましょう。
列データの条件(文字列)を指定して合計
Pandasのsum()
関数を使って、特定の条件を満たす列データの合計を算出する方法を見ていきましょう。
まず、以下のようなデータフレームを作成します。
import pandas as pd
# データフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': ['apple', 'banana', 'apple', 'banana', 'apple']
})
print(df)
このデータフレームに対して、sum()
関数と条件指定を組み合わせて、’C’列が’apple’である行の’A’列と’B’列の合計を算出します。
# 'C'列が'apple'である行の'A'列と'B'列の合計を計算
sum_apple = df[df['C'] == 'apple'][['A', 'B']].sum(axis=0)
print(sum_apple)
このコードは、’C’列が’apple’である行を抽出し(df[df['C'] == 'apple']
)、その行の’A’列と’B’列の合計を計算します。
このように、Pandasのsum()
関数と条件指定を組み合わせることで、特定の条件を満たす列データの合計を簡単に算出することができます。次のセクションでは、より詳細な使用例を見ていきましょう。
「sum関数」と「queryメソッド」の使い方
Pandasのsum()
関数とquery()
メソッドを組み合わせることで、特定の条件を満たすデータの合計を簡単に算出することができます。
まず、以下のようなデータフレームを作成します。
import pandas as pd
# データフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': ['apple', 'banana', 'apple', 'banana', 'apple']
})
print(df)
このデータフレームに対して、query()
メソッドを使って特定の条件を満たすデータを抽出し、その上でsum()
関数を適用します。
# 'C'列が'apple'である行の'A'列と'B'列の合計を計算
sum_apple = df.query('C == "apple"')[['A', 'B']].sum(axis=0)
print(sum_apple)
このコードは、’C’列が’apple’である行を抽出し(df.query('C == "apple"')
)、その行の’A’列と’B’列の合計を計算します。
このように、Pandasのsum()
関数とquery()
メソッドを組み合わせることで、特定の条件を満たすデータの合計を簡単に算出することができます。次のセクションでは、より詳細な使用例を見ていきましょう。
AND条件を指定して合計
Pandasのsum()
関数とquery()
メソッドを組み合わせることで、複数の条件(AND条件)を満たすデータの合計を簡単に算出することができます。
まず、以下のようなデータフレームを作成します。
import pandas as pd
# データフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': ['apple', 'banana', 'apple', 'banana', 'apple'],
'D': [True, False, True, False, True]
})
print(df)
このデータフレームに対して、query()
メソッドを使って特定の条件を満たすデータを抽出し、その上でsum()
関数を適用します。
# 'C'列が'apple'であり、かつ'D'列がTrueである行の'A'列と'B'列の合計を計算
sum_apple_true = df.query('C == "apple" and D == True')[['A', 'B']].sum(axis=0)
print(sum_apple_true)
このコードは、’C’列が’apple’であり、かつ’D’列がTrueである行を抽出し(df.query('C == "apple" and D == True')
)、その行の’A’列と’B’列の合計を計算します。
このように、Pandasのsum()
関数とquery()
メソッドを組み合わせることで、複数の条件を満たすデータの合計を簡単に算出することができます。次のセクションでは、より詳細な使用例を見ていきましょう。
AND・NOT条件を指定して合計
Pandasのsum()
関数とquery()
メソッドを組み合わせることで、複数の条件(AND条件とNOT条件)を満たすデータの合計を簡単に算出することができます。
まず、以下のようなデータフレームを作成します。
import pandas as pd
# データフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': ['apple', 'banana', 'apple', 'banana', 'apple'],
'D': [True, False, True, False, True]
})
print(df)
このデータフレームに対して、query()
メソッドを使って特定の条件を満たすデータを抽出し、その上でsum()
関数を適用します。
# 'C'列が'apple'であり、かつ'D'列がTrueでない行の'A'列と'B'列の合計を計算
sum_apple_not_true = df.query('C == "apple" and D == False')[['A', 'B']].sum(axis=0)
print(sum_apple_not_true)
このコードは、’C’列が’apple’であり、かつ’D’列がTrueでない(つまりFalseである)行を抽出し(df.query('C == "apple" and D == False')
)、その行の’A’列と’B’列の合計を計算します。
このように、Pandasのsum()
関数とquery()
メソッドを組み合わせることで、複数の条件を満たすデータの合計を簡単に算出することができます。次のセクションでは、より詳細な使用例を見ていきましょう。
BETWEEN条件を指定して合計
Pandasのsum()
関数とquery()
メソッドを組み合わせることで、特定の範囲(BETWEEN条件)を満たすデータの合計を簡単に算出することができます。
まず、以下のようなデータフレームを作成します。
import pandas as pd
# データフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10]
})
print(df)
このデータフレームに対して、query()
メソッドを使って特定の範囲を満たすデータを抽出し、その上でsum()
関数を適用します。
# 'A'列が2以上4以下である行の'B'列の合計を計算
sum_between = df.query('2 <= A <= 4')['B'].sum()
print(sum_between)
このコードは、’A’列が2以上4以下である行を抽出し(df.query('2 <= A <= 4')
)、その行の’B’列の合計を計算します。
このように、Pandasのsum()
関数とquery()
メソッドを組み合わせることで、特定の範囲を満たすデータの合計を簡単に算出することができます。次のセクションでは、より詳細な使用例を見ていきましょう。