熊猫:将列表值替换为来自另一个数据框的值的字符串

时间:2020-10-28 11:50:02

标签: python pandas

我尽力尝试在此处或Google上找到任何答案,但均未成功。

我正在尝试使用另一个数据框(其中包含元素的“ Id”和“名称”)的值", ".join替换单元格内的ID列表。

| id   | setting | queues             |
|-------------------------------------|
| 1ade | A       | ['asdf']           |
| 2ade | B       |                    |
| 3cfg | C       | ['asdf', 'qwerty'] |
| id     | name  |
|----------------|
| asdf   | 'Foo' |
| qwerty | 'Bar' |

结果:

| id   | setting | queues             |
|-------------------------------------|
| 1ade | A       | Foo                |
| 2ade | B       |                    |
| 3cfg | C       | Foo, Bar           |

我迷失了方向,因为我尝试了mergereplacelambda。例如使用此:

merged["queues"] = merged["queues"].apply(lambda q: ", ".join(pd.merge(pd.DataFrame(data=list(q)), queues, right_on="id")["name"]))

任何答案都会受到赞赏,因为我失去了理智。

1 个答案:

答案 0 :(得分:1)

如果可能的话,首先将一些非列表值重新填充为空列表,然后将第二个DataFrame转换为字典并通过$icon_map过滤以查找字典:

if