如何對Pandas 中特定列的DataFrame 行進行求和
對於給定的DataFrame,可能需要計算跨值的總和特定行。在嘗試透過 df[['a', 'b', 'd']].map(sum) 實現此目的時,您可能會遇到問題。
此任務的適當操作涉及使用 sum()軸=1。此操作計算每行的總和,忽略非數字列。為了確保準確性,建議指定 numeric_only=True,尤其是在 Pandas 2.0 及以上版本中。
例如,考慮包含列'a'、'b'、'c' 和'd' 的DataFrame ,其中'c' 是非數字列:
df = pd.DataFrame({'a': [1, 2, 3], 'b': [2, 3, 4], 'c': ['dd', 'ee', 'ff'], 'd': [5, 9, 1]})
至計算列'a'、'b' 和'd' 的總和,我們可以使用:
df['e'] = df.sum(axis=1, numeric_only=True)
這將新增一個列“e”,其中包含所需列的總和。
如果您希望對特定列求和,同時排除其他列,您可以指定列列表並使用col_list.remove(column_name).
col_list = list(df) col_list.remove('d') df['e'] = df[col_list].sum(axis=1)
這將使用指定列的總和建立一個新列 'e'。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3