如何根据元组列表为DataFrame匹配姓名生成对应分数新列?
用元组列表为DataFrame创建对应分数列的方法
核心思路
把元组列表转换成字典(姓名为键,分数为值),再用DataFrame的map()方法快速匹配姓名与分数。
步骤示例
转换元组列表为字典
将你的元组列表直接转为字典,姓名与分数的对应关系会更便于后续匹配:# 假设你的元组列表格式如下 name_score_tuples = [('A', 1), ('B', 2), ('C', 3)] # 转换为字典 name_score_dict = dict(name_score_tuples)为DataFrame添加新列
假设DataFrame中存储姓名的列名为'姓名',要创建的新列名为'分数',调用map()方法完成匹配:import pandas as pd # 示例DataFrame df = pd.DataFrame({'姓名': ['A', 'B', 'D', 'C']}) # 生成分数列 df['分数'] = df['姓名'].map(name_score_dict)运行后,未在元组列表中出现的姓名(比如示例中的
'D')对应的分数会显示为NaN。处理无匹配的情况(可选)
如果需要给无匹配的姓名填充默认值(比如0),可以搭配fillna()方法:df['分数'] = df['姓名'].map(name_score_dict).fillna(0)
内容的提问来源于stack exchange,提问作者Man Wong
相关产品推荐
相关产品推荐

