我试图使用groupby()
函数对数据进行分组,以查看整个数据集中最昂贵的产品及其所属的类别。我想知道,例如,最昂贵的产品是否属于“手表”或“珠宝”类别,或者可能属于前10个最昂贵的类别。我在实现它时遇到了困难,最后使用了:
df[['retail_price', 'product_category_tree']].groupby('retail_price').max().sort_values(by='retail_price', ascending=False)
唯一的问题是,虽然我使用了max()
使使用sort_values()
成为可能,但我不确定这个max()
在这里到底做了什么。乍一看,结果似乎达到了我的预期,但我想问你我是否正确
这是我得到的结果:
retail_price product_category_tree
571230.0 ["Watches >> Wrist Watches >> Breitling Wrist ...
250500.0 ["Furniture >> Living Room >> Sofas & Sectiona...
217500.0 ["Furniture >> Living Room >> Sofas & Sectiona...
204600.0 ["Furniture >> Living Room >> Sofas & Sectiona...
201000.0 ["Watches >> Wrist Watches >> Cartier Wrist Wa...
... ...
59.0 ["Toys & School Supplies >> School Supplies >>...
55.0 ["Pens & Stationery >> Office Supplies >> File...
49.0 ["Pens & Stationery >> School Supplies >> Penc...
36.0 ["Home Improvement >> Electricals >> Switches ...
35.0 ["Kitchen & Dining >> Housekeeping & Laundry >..
这个结果是否向我展示了最昂贵的产品及其类别?或者这个max()
在这里做了什么?如果是,我可以用什么来代替
我也很感激任何关于如何更改此函数以同时显示一个额外列item_name
的建议,但这是我不太担心的事情,所以它没有那么重要
如果你按价格分组,那么max没有多大意义,因为每个组只有一个价格。所以我猜你想得到每个产品类别中最昂贵的商品。如果是这样,那么您可以使用
groupby
和rank
来实现此目的我相信我一直在寻找一个简单的
sort_values()
函数。 我按感兴趣的列对数据集进行了排序:这给了我下表:
相关问题 更多 >
编程相关推荐