pandas - 用列表映射列并返回相应的列表
问题描述
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”列的输出。有没有一种简单的方法可以在不迭代行的情况下做到这一点?
解决方案
使用Series.reindex
with 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]
推荐阅读
- swagger - Swagger 从没有注释的 YAML 规范生成代码
- python - 天蓝色虚拟机操作
- swift - 从 String 到 UnsafePointer 的最佳转换是什么
? - azure-devops - 适用于 nopCommerce 4.xx 的 Azure DevOps(又名 VSTS)构建定义
- c# - 返回未经授权的 ViewResult
- python - 使用 python 转换为 CSV UTF-8 时,我的日期列正在转换为日期时间
- styles - 如何调整表格单元格边框的样式?
- ruby - has_many 在关联用户和项目时通过关联错误
- javascript - 输入范围和计算
- spring-boot - 如何使用 gradle 在 spring-boot 中生成 JPA 元模型?(+ lombok)