如何計算 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 庫中,我們經常遇到需要計算Pandas DataFrame 中特定列的總和的情況一個資料框。為了有效地實現這一點,我們必須考慮適當的參數和操作。

讓我們考慮以下 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()

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板