Pandas DataFrame の特定の列の行合計を計算するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-10 12:51:02
オリジナル
547 人が閲覧しました

How do I calculate the row sum of specific columns in a Pandas DataFrame?

Pandas DataFrame の指定された列の行合計

Python の Pandas ライブラリでは、特定の列の合計を計算する必要があることがよくあります。データフレーム。これを効果的に達成するには、適切なパラメーターと操作を考慮する必要があります。

次の DataFrame について考えてみましょう:

df = pd.DataFrame({'a': [1, 2, 3],
                   'b': [2, 3, 4],
                   'c': ['dd', 'ee', 'ff'],
                   'd': [5, 9, 1]})
ログイン後にコピー

私たちの目的は、次の合計を表す列 'e' を追加することです。列「a」、「b」、および「d」。直感的には、次のような方法でこれにアプローチできます。

df['e'] = df[['a', 'b', 'd']].map(sum)
ログイン後にコピー

このメソッドは、目的の出力を生成できません。

正しいアプローチには、次のパラメーターを指定して sum() 関数を利用することが含まれます。

  • axis=1: 行に沿って合計を実行することを指定します。 (水平方向)。
  • numeric_only=True: 'c' のような非数値列を除外し、数値列のみが操作で考慮されるようにします。

このアプローチを適用すると、次の結果が得られます。結果:

df['e'] = df.sum(axis=1, numeric_only=True)
ログイン後にコピー

出力:

   a  b   c  d   e
0  1  2  dd  5   8
1  2  3  ee  9  14
2  3  4  ff  1   8
ログイン後にコピー

または、特定の列のみの合計を計算したい場合は、それらの列のリストを作成し、計算しない列を削除することもできます。 Remove() を使用する必要はありませんmethod.

col_list = list(df)
col_list.remove('d')

df['e'] = df[col_list].sum(axis=1)
ログイン後にコピー

出力:

   a  b   c  d  e
0  1  2  dd  5  3
1  2  3  ee  9  5
2  3  4  ff  1  7
ログイン後にコピー

これらの操作を利用することで、Pandas DataFrame 内の指定された列の行を効果的に合計し、正確かつ効率的なデータ分析を保証できます。

以上がPandas DataFrame の特定の列の行合計を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート