pandas - 数据排序和排名
sort_values()函数
import pandas as pd data = { '名称': ['太阳能', '床', '风扇', '沙发'], '单价': [2000, 3500, 500, 3500], '数量': [58, 23, 69, 60] } df = pd.DataFrame(data) # 单条件排序,使用sort_values()
方法按照指定列的值对 DataFrame 进行排序。可以通过设置by
参数指定要排序的列名 # df = df.sort_values(by='数量', ascending=False) # 排序, ascending默认T升序,False 降序 # 如果要按照多个列进行排序,可以传入包含多个列名的列表到by
参数,并设置ascending
参数来指定升序或降序排序。 df1 = df.sort_values(by=['单价', '数量'], ascending=True) # 单个排列规则 df2 = df.sort_values(by=['单价', '数量'], ascending=[True, False]) # 多个排列规则。单价升序排列,数量降序排列 print(df2)
# 单条件排序 # df = df.sort_values(by='数量', ascending=False) # 排序, ascending默认T升序,False 降序 # 根据多条件排序 df1 = df.sort_values(by=['单价', '数量'], ascending=False) # 单个排列规则 df2 = df.sort_values(by=['单价', '数量'], ascending=[True, False]) # 多个排列规则 df1['排名'] = df2['数量'].rank(method='max', ascending=False) print(df1)