代码之家  ›  专栏  ›  技术社区  ›  8-Bit Borges

Pandas-使用字典和和值将列表中的字符串转换为整数

  •  0
  • 8-Bit Borges  · 技术社区  · 4 年前

    我有一个列为单元格值的df:

        team_id             results
            262     [v, v, e, v, e] 
            263     [e, v, v, d, e]
    

    我有一本字典:

    convert_dict = {'v':3, 'e':1, 'd':0}
    

        team_id     results
            262          11 
            263          10
    

    对于转换,我尝试过:

    df['results'] = df['results'].map(lambda x: convert_dict[x])
    

    有什么想法吗?

    1 回复  |  直到 4 年前
        1
  •  1
  •   Myccha    4 年前

    尝试:

    df.assign(result = lambda x: x['result'].apply(lambda values: sum(convert_dict.get(v, np.nan) for v in values)))
    
    # Or if you don't like .assign()
    
    df['result'] = df['result'].apply(lambda values: sum(convert_dict.get(v, np.nan) for v in values))