首页 > 解决方案 > 根据列的值对列进行排序。熊猫

问题描述

df1

ITEM      CATEGORY       COLOR     LOCATION      PRICE

23661      BIKE          BLUE        A           30000
23661      BIKE          BLUE        B           43563
23661      BIKE          BLUE        C           45124
23661      BIKE          BLUE        D           28000
48684      CAR           RED         B           45145
48684      CAR           RED         D           35613
48684      CAR           RED         A           82312
48684      CAR           RED         C           24536
48684      CAR           RED         E           45613
54519      BIKE          BLACK       A           21345
54519      BIKE          BLACK       B           62623
54519      BIKE          BLACK       C           14613
54519      BIKE          BLACK       E           14365
54519      BIKE          BLACK       D           67353

预期结果是车辆价格最高的位置。

ITEM      CATEGORY       COLOR     LOCATION      PRICE

23661      BIKE          BLUE        C           45124
48684      CAR           RED         A           82312
54519      BIKE          BLACK       D           67353

df.sort_values(df['PRICE'], ascending=False, kind='quicksort')使用此代码,我们可以手动一一进行。如何为整个 df 执行此操作。

标签: pythonpandas

解决方案


sort_values+ drop_duplicates:

df.sort_values(['ITEM','PRICE'],ascending=[True,False]).drop_duplicates('ITEM')

     ITEM CATEGORY  COLOR LOCATION  PRICE
2   23661     BIKE   BLUE        C  45124
6   48684      CAR    RED        A  82312
13  54519     BIKE  BLACK        D  67353

推荐阅读