【发布时间】:2017-12-25 10:48:17
【问题描述】:
这是我在过去的采访中提出的问题。
我们的输入数据具有以下列:
语言、产品 ID、货架 ID、排名
例如,输入将具有以下格式
English, 742005, 4560, 10.2
English, 6000075389352, 4560, 49
French, 899883993, 4560, 32
French, 731317391, 7868, 81
我们想对语言、货架 id 列进行“分组”操作,并根据“rank”属性的排序说明对产品列表进行排序,这将导致输出具有以下格式:
语言,shelf_id,{product_id:rank1, product_id:rank2 ....}
对于每条记录。
对于给定的输入,输出如下:
English, 4560, {6000075389352:49, 742005:10.2}
French, 4560, 899883993:32
French, 7868, 731317391:81
我通过使用键(通过组合语言和货架 id 创建)并插入产品 id 并为每个键排名来解决这个问题。
我的方法有效,但使用 python pandas 库似乎有一种更简单的方法。我已经阅读了一些参考资料,但我仍然不确定是否有比我所做的更好的方法(通过使用具有该密钥的语言、货架 ID 和字典创建密钥来解决问题)
任何帮助将不胜感激。
【问题讨论】:
标签: python pandas dataframe dictionary pandas-groupby