【发布时间】:2021-11-25 19:24:42
【问题描述】:
我有一个数据框,我想按如下方式聚合:我想按 col1 和 col6 分组,并为 col2 和 col3 创建一个新列。
col1 col2 col3 col6
a it1 3 f
a it2 5 f
b it6 7 g
b it7 8 g
我希望结果如下所示:
col1 col6 new_col
a f pd.DataFrame({"col2": ["it1", "it2"],"col3":[3,5]})
b g pd.DataFrame({"col2": ["it6", "it7"],"col3":[7,8]})
我尝试了以下方法:
def aggregate(gr):
return(pd.DataFrame("col2":gr["col2"], "col3":gr["col3"]))
df.groupby("col1").agg(aggregate)
但聚合似乎不是解决此问题的正确方法。 这样做的正确方法是什么?
【问题讨论】:
-
您希望
new_col中的每个单元格都成为一个DataFrame? -
我随后将 df 转换为 json 并希望将其分组。
标签: python pandas pandas-groupby aggregate