【发布时间】:2021-03-13 02:07:50
【问题描述】:
我有一个 Pandas 数据框,其中包含 id、date_created、rank_1、rank_2、rank_3 列。下面显示了 2 行数据框。
| id | date_created | rank_1 | rank_2 | rank_3 |
|---|---|---|---|---|
| 2223 | 3/3/21 3:26 | www.google.com | www.yahoo.com | www.ford.com |
| 1112 | 2/25/21 1:35 | www.autoblog.com | www.motor1.com | www.webull.com |
我正在尝试为此 df 分配一个新列并将其命名为 rank_dict,这会将编号 3 分配给 rank_1 URL,将编号 2 分配给 rank_2 URL,将编号 1 分配给 rank_3 URL。
所以理想的结果应该是这样的:
| id | date_created | rank_1 | rank_2 | rank_3 | rank_dict |
|---|---|---|---|---|---|
| 2223 | 3/3/21 3:26 | www.google.com | www.yahoo.com | www.ford.com | {www.google.com:3, www.yahoo.com:2, www.ford.com:1} |
| 1112 | 2/25/21 1:35 | www.autoblog.com | www.motor1.com | www.webull.com | {www.autoblog.com:3, www.motor1.com:2, www.webull.com:1} |
如果不是 Pandas df,我知道该怎么做。例如,如果我有这些键值列表:
keys = ['www.google.com','www.yahoo.com','www.ford.com']
values = [3, 2, 1]
我可以通过res_dict = dict(zip(keys, values)) 将其转换为字典:{'www.google.com': 3, 'www.yahoo.com': 2, 'www.ford.com': 1}。
但我想不出在 Pandas df 中执行此字典创建的优雅方法。谁能帮帮我?
【问题讨论】:
标签: python pandas dictionary ranking recommendation-engine