Python[panda/lambda]-按特定列对DF进行分组和聚合
在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
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中的所有其他列呢?我