一种可能更笨拙的方法是遍历GroupBy
对象(它会生成(grouping_value, df_subgroup)
元组。例如,要在此处实现所需的功能,可以执行以下操作:
grouped = DF.groupby("category")
aggregate = list((k, v["arraydata"].sum()) for k, v in grouped)
new_df = pd.DataFrame(aggregate, columns=["category", "arraydata"]).set_index("category")
无论如何,这与大熊猫在幕后所做的非常相似[groupby,然后进行一些聚合,然后再合并],因此您并没有真正失去很多。