パンダ合計列

Panda He Ji Lie



「この記事では、Python を使用して Pandas DataFrame のすべてまたは特定の列を合計する方法を示します。 DataFrame.sum() 関数は、このチュートリアルの多数の例でいくつかの役立つパラメーターと共に使用されます。」

このチュートリアルが終了すると、次の方法がわかります。







    • パンダのデータフレーム列の合計を見つけます。
    • データフレーム列を一緒に追加する
    • 指定された条件を満たす列を Pandas データフレームに追加します。
    • データフレームのデータをグループ化した後、合計を決定します。

データフレーム列の合計を決定する方法は?

Pandas の「dataframe.sum()」関数は、指定された軸の合計を返します。入力がインデックスの軸である場合、関数は各列の値を個別に追加してから、各列に対して同じことを行い、各列のデータ/値の合計を格納する系列を返します。さらに、欠損値を無視してデータフレームの合計を計算することもサポートしています。



構文: DataFrame.sum(軸 = なし、skipna = なし、レベル = なし、numeric_only = なし、min_count = 0、**kwargs)



どこ、





軸: {列 (1)、インデックス (0)}

注文: 結果の計算時に NA/null 値を無視します。



レベル: 指定された軸が階層的 (マルチインデックス) である場合、シリーズに変換する前に特定のインデックス レベルまでカウントします。

数値のみ: float、int、および boolean 列のみが受け入れられます。なしの場合は、すべてを使用してみてください。そうでない場合は、数値データのみ。シリーズの場合、実装されていません。

最小カウント: 操作を完了するために必要な可能な値の数。非 NA 値が min_count よりも少ない場合、結果は NA になります。

戻り値: DataFrame (レベルが指定されている場合) または Series。

例 # 01: データフレーム列とすべての列の合計を決定する

データの合計を見つけることができる有効なデータ型、つまり int、float などの列または列を含むデータフレームが最初に必要です。データフレームは pd.DataFrame() 関数を使用して作成されます。


pd.DataFrame() 関数内の Python 辞書から必要なデータフレームを作成しました。上記で作成したデータフレームには、「Name」、「day1」、「day2」、「day3」の4つの列があります。 4 つの列のうち、「day1」、「day2」、「day3」の 3 つの列は、データ値 (4、4、3、2、4、6、5、3)、(2、4、 5, 2, 3, 4, 6, 2)、および (7, 4, 3, 5, 6, 2, 1, 4) です。これら 3 つの列の合計しかわかりません。シリーズ (つまり、列) とデータフレーム全体の合計は、sum() メソッドを使用して決定できます。 Pandas 列のすべてのデータを合計する方法を教えることから始めましょう。


合計を決定するために、「day2」列で sum() メソッドを使用しました。関数は合計値 28 を返しました。これと同様に、各 Dataframe 列の合計を決定できます。データフレーム全体で sum() メソッドを使用するだけで、これが実現します。


ご覧のとおり、列「day1」の合計は 31 です。 「day2」の合計値は 28 ですが、列「day3」の合計値は 32 です。

例 # 02: sum() 関数を使用してデータフレーム列の値を合計する

前の例の出力からわかるように、関数は合計を構成する実際のデータ フレーム列データを返しませんでした。ただし、「DataFrame.sum()」メソッドを DataFrame 列に割り当てることで、合計列を含む DataFrame のすべての列にアクセスできます。まず、この例のために別のデータフレームを作成します。


pd.DataFrame() を使用して、データフレームが作成されました。 item、price、tax の 3 つの列を持つデータフレームを作成しました。文字列値 (「ペン」、「マーカー」、「ルーラー」、「消しゴム」、「鉛筆」、「クリップボード」、「ホッチキス」、「ピン」) を含む列アイテム、値を格納する列価格 (20、 15、10、3、5、30、35、10)、「税金」列は値 (8、5、3、3、4、10、5、2) で構成されます。次に、元のデータフレーム列を保持して、価格と税の列の値を合計し、結果を新しい列に保存しましょう。


新しい列「total」とともに気付くことができるように、指定されたデータフレームの元の列も関数によって返されます。 「合計」列には、各「商品」データに対する「価格」列と「税」列の値の合計が格納される。

例 # 03: sum() 関数を使用して、指定されたデータフレーム列の合計を決定する

データフレームの複数の列を合計するには、列のラベルを含むリストを指定し、そのリストに sum() メソッドを適用して合計を求めます。前の例と同様に、最初にデータフレームを作成します。


「students」、「marks1」、「marks2」、「marks3」の 4 つの列を持つデータフレームを作成しました。列「students」にはデータ (「Larry」、「James」、「Rob」、「Arya」、「Max」、「Ben」、「Gwen」、「Bill」) が格納され、列「marks1」にはデータが格納されます。値 (8, 9, 6, 8, 10, 7, 9, 9) に対して、列「marks2」と「marks3」には数値 (6, 6, 8, 6, 7, 9, 10, 9) が格納されています。 ) および (7, 6, 9, 7, 8, 7, 10, 10) です。


最初に、列ラベル「students」、「marks1」、および「marks3」を持つリスト オブジェクトを作成しました。次に、sum() メソッドがリストに適用されます。この関数は、列「students」が非数値であるため、marks1 列と mark3 列の値のみを合計しました。そのため、sum() 関数は、列「students」の値の合計を見つけることができません。列「marks1」と「marks3」の値の合計を列「sum」に保存しました。

例 # 04: 指定された条件を満たす Pandas データフレームの列を追加する

この例では、指定された条件を満たしている場合に、指定された列の値を追加します。


新しく作成されたデータフレームには、「company」、「week1_sales」、「week2_sales」、「week3_sales」、および「branches」の 5 つの列があります。ここで、指定されたデータフレーム行の値の合計を追加または検索するときに、最後の列の値を追加したくないとしましょう。ラベルに「週」という単語を含む列の値を追加したいとしましょう。リスト内包表記を作成して、「週」という単語が列ラベルに含まれているかどうかを判断できます。


これで、ラベルに「週」という単語が含まれる列が取得されました。 sum() 関数で axis=1 引数を使用して、「week」という単語を含む列を要約できます。


このようにして、不要な列を含めることなく、列全体のデータを行単位で安全に合計できます。

例 # 5: データフレームのデータをグループ化した後に合計を決定する

1 つ以上の列のデータをグループ化した後、データフレーム列の合計を見つけることもできます。 groupby() メソッドは、データを列内のカテゴリにグループ化するために使用されます。データフレームを作成して、その列の 1 つのデータをグループ化できるようにしましょう。


ここで、列「age」のデータをグループ化し、グループの各カテゴリの列「score1」と「score2」の値を合計します。


最初にデータ値を年齢別にグループ化した後、データフレーム内のデータを合計すると、年齢グループに応じて列ごとの合計になることがわかります。

結論

このチュートリアルでは、Pandas sum メソッドを使用してデータフレーム全体の合計を計算する方法を教えようとしました。この投稿の例では、行単位および列単位の値の加算について説明しました。さらに、列を条件付きで追加する方法と、データフレームの列をグループ化した後に値を合計する方法を学びました。これで、データフレームの列を合計したり、データフレーム列内の値を自分で合計したりできる場合があります。