我有这个具有重复属性的数据框:
agentID, Name, Age, Profession skills, ratings
002, Rob, 32, plumber, bricklayer, 3
002, Rob, 32, plumber, plumber, 5
002, Rob, 32, plumber, carpenter, 3
032, john, 26, electrician, welder, 5
032, john, 26, electrician, electrician, 5
我想要的是通过他们的agentID对每个代理进行分组,专业时代将重复分组在一起,因此我可以轻松地将其与我拥有的另一个csv文件合并,包含每个员工的大学资格。其他文件只包含agentID和大学资格,以执行一些分析。我想要的是拥有以下内容:
答案 0 :(得分:0)
您有更多行要汇总吗?如果是的话,您希望如何汇总它们? (平均值,总和等)。目前,只需使用set_index()
即可获得所需的输出df = df.set_index(['agentID', 'Name', 'Age', 'Profession'])
你得到了
skills ratings
agentID Name Age Profession
2 Rob 32 plumber bricklayer 3
plumber plumber 5
plumber carpenter 3
32 john 26 electrician welder 5
electrician electrician 5
答案 1 :(得分:0)
您在寻找join
吗?
df.assign(New=df[[' agentID',' Name',' Age','Profession']].\
apply(lambda x : ','.join(x.astype(str)),axis=1)).\
drop([' agentID',' Name',' Age','Profession'],axis=1)
Out[1207]:
skills ratings New
0 bricklayer 3 002,Rob,32, plumber
1 plumber 5 002,Rob,32, plumber
2 carpenter 3 002,Rob,32, plumber
3 welder 5 032,john,26, electrician
4 electrician 5 032,john,26, electrician