特别是由daframe进行分析

时间:2017-08-30 17:44:12

标签: python pandas

我有这个具有重复属性的数据框:

 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和大学资格,以执行一些分析。我想要的是拥有以下内容:

enter image description here

2 个答案:

答案 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