我想将以下输出按Material_id进行分组,保留MATERIAL_DESCRIPTION和MPN的唯一值,但列出PLANT_ID。picture for reference
def search_output(materials):
df=pd.DataFrame(materials)
df_ref = df.loc[:, df.columns!='@search.score'].groupby('material_id').agg({lambda
x:list(x)})
return df_ref
这当前按Material_id分组并列出其他列。
下面的代码我用来保持唯一的值按材质_id分组,但是现在我缺少PLANT_ID LIST列。
df_t = df.loc[:, df.columns!='@search.score'].groupby('material_id' ['material_description','MPN'].agg(['unique'])
我正在寻找一种将两者结合起来的方法。一种按列分组、保留特定列的唯一值并同时列出其他列的方法。
希望您能帮上忙--对图片表示歉意,但想不出如何添加输出:)
1条答案
按热度按时间bnl4lu3b1#
您可以按列表创建词典-首先按
unique
聚合,然后按list
和dict.fromkeys
创建其他所有列,并将它们连接到GroupBy.agg
: