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中执行此操作。
答案 0 :(得分:2)
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
答案 1 :(得分:0)
U可以在颜色列上进行分组,然后对价格应用排序功能:类似df.groupby([“ COLOR”])。apply(lambda x:x.sort_values([“ PRICE”]],升序= False ))