假設我們有一個熊貓數據框類似如下:如何根據Pandas DataFrame中其他列的值僅累加列的某些元素?
df=pd.DataFrame({'name':['Ind','Chn','SG','US','SG','US','Ind','Chn','Fra','Fra'],'a':[5,6,3,4,7,12,66,78,65,100]})
我想總結列的「A」爲列「名」的每個不同的值的值。
我試過這段代碼:
for i in df['name'].unique(): df['tot']=df[(df.name==i)]['a'].sum()
在出現的新列,「TOT」列僅包含所有行的「名字」,即(僅適用於「法蘭克福機場」)去年不同的價值的總和而不是[Ind,US,Fra等]中的每一個的單獨值。我希望在新列(tot)中爲'name'列的每個唯一值創建一個單元格,並最終希望通過每個唯一值的總和對整個日期框架'df'進行排序。
我使用的字典試過,
dc={}
for i in df['name'].unique():
dc[i]=dc.get(i,0)+(df[(df.name==i)]['a'].sum())
我得到期望的結果,雖然在詞典中,所以我不知道如何排序DF從這裏基於字典「DC」的值。
{ '工業':71, 'CHN':84, 'SG':10, 'US':16, '弗拉':165}
有誰請解釋的過程中以儘可能多的方式鍛鍊這種情景?處理大量數據時,哪種方法最有效?謝謝!
編輯:我的預期輸出只是將數據框df按新列'tot'的值排序。或者像查找與'tot'列中的最大值或最小值關聯的行。
我只是學習如何通過其他columns..like找到與列「TOT」最大值或最小值相關聯行的值數據幀DF排序。 – aspiringroboticist