Python[panda/lambda]-按特定列对DF进行分组和聚合

Python[panda/lambda]-按特定列对DF进行分组和聚合,python,pandas,lambda,aggregate,grouping,Python,Pandas,Lambda,Aggregate,Grouping,在DF中有多个字段: parent_path, child, level, flag, logic 我想按父路径对DF进行分组,并收集同一父路径下的所有子项 我说到这里: curr_level.groupby('parnet_path').agg(lambda x: list(set(x))).reset_index() 它正在工作,并收集列表中具有相同父项的所有子项, 但它也列出/聚合数据框中的所有其他列 如何按特定组分组和按特定列分组 df.groupby('parnet_pat

在DF中有多个字段:

parent_path, child, level, flag, logic 
我想按父路径对DF进行分组,并收集同一父路径下的所有子项

我说到这里:

curr_level.groupby('parnet_path').agg(lambda x: list(set(x))).reset_index()   
它正在工作,并收集列表中具有相同父项的所有子项, 但它也列出/聚合数据框中的所有其他列

如何按特定组分组和按特定列分组

df.groupby('parnet_path')[["column1","column2"]].agg(lambda x: list(set(x))).reset_index()  
第1列和第2列是一些特定的列

你的情况:

  df.groupby('parnet_path')["child"].agg(lambda x: list(set(x))).reset_index()  
第1列和第2列是一些特定的列

你的情况:

  df.groupby('parnet_path')["child"].agg(lambda x: list(set(x))).reset_index()  

我不知道你到底在寻找什么,但我认为这行代码给出了所有列出的孩子/家长的路径。您只需要指定curr_level.groupby('parnet_path').agg(lambda x:list(set(x))).reset_index()['child']我没有得到您想要的内容,但我认为这行代码给出了列出的所有child/parent_路径。您只需要指定curr_level.groupby('parnet_path').agg(lambda x:list(set(x)).reset_index()['child']谢谢@Ena,但是通过指定您提到的coulms:``df.groupby('parnet_path')['child'].agg(lambda x:list(set(x)).reset_index()``这实际上是返回了两列——所有子列的父列,但是DF中的所有其他列呢?我感谢@Ena,但是通过指定您提到的coulms:``df.groupby('parnet_path')[“child”].agg(lambda x:list(set(x))).reset_index()``这实际上是在返回2列—父列和所有子列,但是df中的所有其他列呢?我