我有一个数据框,
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")
答案 0 :(得分:2)
尝试一下
df['name_marks'] = df['name'].apply(lambda x: {k: 100 for k in x})