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