Pandas に特定の行を追加する方法 (例あり)
次のメソッドを使用して、pandas DataFrame 内の特定の行の合計を見つけることができます。
方法 1: インデックスによって特定の行を追加する
#sum rows in index positions 0, 1, and 4 df. iloc [[0, 1, 4]]. sum ()
方法 2: ラベルごとに特定の行を追加する
#sum rows with index labels 'A', 'B', and 'E' df. loc [['A', 'B', 'E']]. sum ()
次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [28, 17, 19, 14, 23, 26, 5], ' rebounds ': [5, 6, 4, 7, 14, 12, 9], ' assists ': [10, 13, 7, 8, 4, 5, 8]}) #set indexes df = df. set_index ([pd. Index (['A', 'B', 'C', 'D', 'E', 'F', 'G'])]) #view DataFrame print (df) points rebound assists A 28 5 10 B 17 6 13 C 19 4 7 D 14 7 8 E 23 14 4 F 26 12 5 G 5 9 8
例 1: インデックスによる特定の行の合計
次のコードは、DataFrame の各列にインデックス値 0、1、および 4 を持つ行の値を追加する方法を示しています。
#sum rows in index positions 0, 1, and 4
df. iloc [[0, 1, 4]]. sum ()
points 68
rebounds 25
assists 27
dtype: int64
結果から次のことがわかります。
- ポイント列のインデックス値が 0、1、および 4 の行の合計は68です。
- バウンス列のインデックス値が 0、1、および 4 の行の合計は25です。
- アシスト列のインデックス値 0、1、および 4 を持つ行の合計は27です。
次の構文を使用して、特定の範囲の行を合計できることにも注意してください。
#sum rows in index positions between 0 and 4
df. iloc [0:4]. sum ()
points 78
rebounds 22
assists 38
dtype: int64
出力から、DataFrame の各列のインデックス値が 0 から 4 まで (4 はカウントしない) の行の合計がわかります。
例 2: ラベルごとに特定の行を追加する
次のコードは、DataFrame の各列のインデックス ラベル「A」、「B」、「E」を持つ行の値を合計する方法を示しています。
#sum rows with index labels 'A', 'B', and 'E' df. loc [['A', 'B', 'E']]. sum () points 68 rebounds 25 assists 27 dtype: int64
結果から次のことがわかります。
- ポイント列のインデックス値 ‘A’、’B’、および ‘E’ を持つ行の合計は68です。
- バウンス列のインデックス値「A」、「B」、および「E」を持つ行の合計は25です。
- アシスト列のインデックス値「A」、「B」、および「E」を持つ行の合計は27です。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。
Pandas で SUMIF 関数を実行する方法
Pandas で GroupBy 合計を実行する方法
Pandas で条件に基づいて列を合計する方法