這與this question非常相似,除了我希望我的代碼能夠應用於數據幀的長度而不是特定的列。pandas:追加行小計的新列
我有一個DataFrame,我試圖獲得每行的總和作爲一列添加到數據框。
df = pd.DataFrame([[1,0,0],[20,7,1],[63,13,5]],columns=['drinking','drugs','both'],index = ['First','Second','Third'])
drinking drugs both
First 1 0 0
Second 20 7 1
Third 63 13 5
所需的輸出:
drinking drugs both total
First 1 0 0 1
Second 20 7 1 28
Third 63 13 5 81
當前代碼:
df['total'] = df.apply(lambda row: (row['drinking'] + row['drugs'] + row['both']),axis=1)
這個偉大的工程。但是如果我有另外一個數據框,有七列,不叫'飲酒','毒品'或'兩者'呢?是否可以調整此函數以適用於數據幀的長度?這樣,我可以使用該函數來處理任何數據框,列數不盡相同,而不僅僅是一個名爲'drinking','drug'和'both'的列的數據框?
喜歡的東西:
df['total'] = df.apply(for col in df: [code to calculate sum of each row]),axis=1)