我試圖在論壇中搜索這個問題,但是,我相信我可能沒有正確地問它。就這樣吧。
我有一個包含許多列的大型資料集。最初,我需要根據變數的名稱模式將每行的所有列按多個組求和。我能夠通過以下方式做到這一點:
cols = data.filter(regex=r'_name$').columns
data['sum'] = data.groupby(['id','group'],as_index=False)[cols].sum().assign(sum = lambda x: x.sum(axis=1))
通過運行此代碼,我收到了一個按我的 2 個因子變數(組和 id)分組的修改后的資料框,其中包含所有列以及我需要的最終總和列。但是,現在,我想將最終的總和列回傳到原始資料框中。上面的代碼將整個修改后的資料框回傳到我的 sum 列中。我知道這在 R 中可以通過在管道代碼末尾添加一個 .$sum 來實作。關于如何在熊貓中獲得這個的任何想法?
我希望的輸出只是將上述代碼行中的最終“sum”變數添加到我的原始資料框中。
編輯:為了澄清,上面的代碼回傳了整個資料框:

我想要回傳的只是黃色的列
uj5u.com熱心網友回復:
這是你需要的嗎?
data['sum'] = data.groupby(['id','group'])[cols].transform('sum').sum(axis = 1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/426296.html
