我希望将DataFrame转换为字典,其中列是键,行(按列)是其值。在执行此操作时,我还需要使用分组。
team id name salary
0 Alpha 10 Jack 1000
1 Alpha 15 John 2000
2 Alpha 20 John 2000
3 Bravo 50 Thomas 5000
4 Bravo 55 Robert 6000
5 Bravo 60 Albert 7000
预期输出:
# expected output WITH duplicates
ex = {'Alpha': {'id': [10, 15, 20], 'name': ['Jack', 'John', 'John'], 'salary': [1000, 2000, 2000]},
'Bravo': {'id': [50, 55, 60], 'name': ['Thomas', 'Robert', 'Albert'], 'salary': [5000, 6000, 7000]}
}
# expected output WITHOUT duplicates ('name', 'salary')
ex = {'Alpha': {'id': [10, 15, 20], 'name': ['Jack', 'John'], 'salary': [1000, 2000]},
'Bravo': {'id': [50, 55, 60], 'name': ['Thomas', 'Robert', 'Albert'], 'salary': [5000, 6000, 7000]}
}
可以使用df.to_dict()
来完成吗?
代码示例:
import pandas as pd
d = {'team': ['Alpha', 'Alpha', 'Alpha', 'Bravo', 'Bravo', 'Bravo'],
'id': [10, 15, 20, 50, 55, 60],
'name': ['Jack', 'John', 'John', 'Thomas', 'Robert', 'Albert'],
'salary': [1000, 2000, 2000, 5000, 6000, 7000]}
df = pd.DataFrame(data=d)
2条答案
按热度按时间djmepvbi1#
一个
Groupby
然后to_dict
就可以了:输出量:
对于唯一列表:
rxztt3cl2#
中 的 每 一 个
输出 :
格式
格式
输出 :
格式