Python 对DataFrame数据分组并排序并选择最优数据

Python 对DataFrame数据分组并排序并选择最优数据

目的:对数据按第一列分组,按第二列降序排序,按第三列升序排序,选择每组中最好的输出
数据:
在这里插入图片描述开始:

import pandas as pd
df = pd.read_excel('product.xlsx',names=['product','score1','score2'],header=None)
df

在这里插入图片描述

df = df.sort_values(by=['score1','score2'],ascending=[False,True])   #False表示降序排序
df

在这里插入图片描述

df = df.groupby('product',as_index=False).first()   
# as_index=False表示使用原来的索引而不是以分组依据作为索引;first()表示保留第一个数据
df

在这里插入图片描述

df.to_csv(path_or_buf='result.csv',header=None,index=None)
# 选择DataFrame自己写入Excel的函数
# headers = None(不保存列名)
# index = None(不保存索引)

在这里插入图片描述结束

每篇小附录:
Python 中文文档