熊猫:根据组将列中的列表值映射到字典

时间:2019-11-12 09:11:52

标签: python python-3.x pandas-groupby

我有一个数据框,

ip_df
     class sec name
0    I     a   ['tom','jim']
1    I     b   ['scooby','joe']
2    II    a   ['peter','sue']

我需要将“名称”列映射为字典中的键,默认值为100,就像

op_df
    class sec  name_marks
0    I     a   {'tom':100,'jim':100}
1    I     b   {'scooby':100,'joe':100}
2    II    a   {'peter':100,'sue':100}

我尝试了apply方法,但是未能达到“ op_df”之类的结果。

op_df = ip_df.groupby(['class', 'sec']).\
                    apply(lambda x: { index : 100 for index in x }).\
                    reset_index(name="name_marks")

1 个答案:

答案 0 :(得分:2)

尝试一下

df['name_marks'] = df['name'].apply(lambda x: {k: 100 for k in x})