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 での loc と iloc の違い

追加リソース

次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。

Pandas で SUMIF 関数を実行する方法
Pandas で GroupBy 合計を実行する方法
Pandas で条件に基づいて列を合計する方法

コメントを追加する

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