我知道如何将数据帧转换为字典,但我不确定如何创建添加了任意键名的字典
假设我有一个如下所示的数据帧
raw_data = {'regiment': ['Nighthawks', 'Nighthawks', 'Nighthawks', 'Nighthawks', 'Dragoons', 'Dragoons', 'Dragoons', 'Dragoons', 'Scouts', 'Scouts', 'Scouts', 'Scouts'],
'company': ['1st', '1st', '2nd', '2nd', '1st', '1st', '2nd', '2nd','1st', '1st', '2nd', '2nd'],
'name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze', 'Jacon', 'Ryaner', 'Sone', 'Sloan', 'Piger', 'Riani', 'Ali'],
'preTestScore': [4, 24, 31, 2, 3, 4, 24, 31, 2, 3, 2, 3],
'postTestScore': [25, 94, 57, 62, 70, 25, 94, 57, 62, 70, 62, 70]}
df = pd.DataFrame(raw_data, columns = ['regiment', 'company', 'name', 'preTestScore', 'postTestScore'])
df.head()
Out[96]:
regiment company name preTestScore postTestScore
0 Nighthawks 1st Miller 4 25
1 Nighthawks 1st Jacobson 24 94
2 Nighthawks 2nd Ali 31 57
3 Nighthawks 2nd Milner 2 62
4 Dragoons 1st Cooze 3 70
我想按'name'分组并计算'preTestScore'中的最大值,最后创建一个字典,如下所示
{'Miller': {'maxTestScore': 4},
'Jacobson': {'maxTestScore': 24}, ...}
在这里,我添加了一个新的键名“maxTestScore”。我怎样才能用任意的密钥名实现这一点?事先非常感谢
可以将
dict comprehension
与groupby
一起使用:另一种解决方案:
相关问题 更多 >
编程相关推荐