首頁  >  文章  >  後端開發  >  如何在處理非數字資料時對 Pandas DataFrame 中的特定列求和?

如何在處理非數字資料時對 Pandas DataFrame 中的特定列求和?

Susan Sarandon
Susan Sarandon原創
2024-11-09 14:29:02720瀏覽

How to Sum Specific Columns in a Pandas DataFrame While Handling Non-Numeric Data?

Pandas:對特定列的 DataFrame 行求和

在 Pandas DataFrame 中,組合給定列集的多行資料可能是一項常見任務。在本文中,我們將解決計算 DataFrame 行中特定列總和的查詢。

初始方法和錯誤:

人們可能會嘗試使用以下程式碼可實現列'a'、'b' 和'd' 的總和:

df['e'] = df[['a', 'b', 'd']].map(sum)

但是,由於「c」列中存在非數字數據,此方法失敗。

正確操作:

考慮非數字資料並準確求和所需的列,我們將程式碼修改為如下:

df['e'] = df.sum(axis=1, numeric_only=True)

解釋:

使用axis=1 呼叫sum函數來對行而不是列求和。此外,numeric_only=True 確保計算中僅考慮數字列,不包括「c」等非數字列。

對特定列求和:

至僅對列的子集求和,建立所需列的清單並排除不需要的列需要:

col_list.remove('d')
df['e'] = df[col_list].sum(axis=1)

此操作將對「a」、「b」和「c」列求和,並將結果儲存在「e」列中。

以上是如何在處理非數字資料時對 Pandas DataFrame 中的特定列求和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn