python中的pandas如何按类加和并排序
时间: 2024-02-03 18:12:07 浏览: 52
Python系列—-pandas的排序、排名
5星 · 资源好评率100%
可以使用pandas中的groupby和sort_values方法来实现按类加和并排序。
假设有一个DataFrame df,其中有列A、B、C,我们要按A列对B列进行加和,并按加和后的值对C列进行降序排序,可以使用以下代码:
```
df.groupby('A')['B'].sum().reset_index().sort_values('B', ascending=False).merge(df, on='A')
```
解释一下上面的代码:
- `groupby('A')['B'].sum()`:按A列对B列进行加和;
- `reset_index()`:将A列变为DataFrame的一列,方便之后的排序;
- `sort_values('B', ascending=False)`:按B列进行降序排序;
- `merge(df, on='A')`:将原始DataFrame与上述结果进行合并,得到按A列加和并按B列降序排序的DataFrame。
如果想对多列进行加和,可以在groupby中传入一个列表,例如:
```
df.groupby(['A', 'B'])['C'].sum().reset_index().sort_values(['A', 'C'], ascending=[True, False]).merge(df, on=['A', 'B'])
```
这样就可以按A列和B列进行加和,并按A列升序、C列降序排序了。
阅读全文