抱歉这个noob问题。我有一个如下所示的数据框:
df = pd.DataFrame({'chemical': ['A', 'A', 'A', 'B', 'B'], 'cost': [102, 104, 86, 20, 92], 'id': [1, 2, 3, 4, 5]})
如何通过化学品获得总成本的排名列表?
我知道它涉及从这开始:
cost_by_chemical = df2.groupby('chemical')
但我不确定如何继续?
谢谢!
答案 0 :(得分:2)
IIUC然后您需要以下内容:
In [18]:
df.groupby('chemical')['cost'].sum().rank().reset_index()
Out[18]:
chemical cost
0 A 2.0
1 B 1.0
或者
In [20]:
df.groupby('chemical')['cost'].sum().reset_index()
Out[20]:
chemical cost
0 A 292
1 B 112