python - 根据列的值对列进行排序。熊猫
问题描述
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 执行此操作。
解决方案
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
推荐阅读
- python - Kivy 问题 - 无法获取窗口,中止
- django - Google Analytics Measurement Protocol 无法跟踪购物车添加和产品视图
- xcode - 静态方法“buildBlock”需要“ToolbarItem”
'符合'视图' - python - 用于在 Windows 上打开的 Linux 文本文件编码
- javascript - Fullcalendar:可拖动的样式搞砸了
- javascript - ajax 帖子列表仅更新第一个帖子
- c++ - vcpkg:如何提交包更新请求,或查看包是否应更新?
- c# - 单元测试自定义 InputFormatter
- excel - 将 Outlook 日历数据导入工作表
- vba - 构建和编写程序以在 Visual Basic 中绘制星号矩形