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 中文文档