首页 > 解决方案 > 用列表映射列并返回相应的列表

问题描述

import pandas as pd

pd.DataFrame({"a":["a","b","c"],"d":[1,2,3]})

给定一个数组["a","b","c","c"],我希望它用于映射 col“a”,并获取[1,2,3,3]来自“d”列的输出。有没有一种简单的方法可以在不迭代行的情况下做到这一点?

标签: pandas

解决方案


使用Series.reindexwith index bya转换为 index by DataFrame.set_index

a = ["a","b","c","c"]

L = df.set_index('a').reindex(a)['d'].tolist()
print (L)
[1, 2, 3, 3]

推荐阅读