3)使用for循环打印groupby()分组对象中每一组的具体数据
x = {"name":["a","a","b","b","c","c","c"],"num":[2,4,0,5,5,10,15]} df = pd.DataFrame(x) display(df) groupdf = df.groupby("name") for (x,y) in groupdf: display(x, y)
结果如下:
4)groupby()分组参数的4种形式
单字段分组:根据df中的某个字段进行分组。
多字段分组:根据df中的多个字段进行联合分组。
字典或Series:key指定索引,value指定分组依据,即value值相等的记录,会分为一组。
自定义函数:接受索引,索引相同的记录,会分为一组。
使用如下数据演示这4种分组参数:
df = pd.DataFrame({"部门":["A", "A", "B", "B"], "小组":["g1", "g2", "g1", "g2"], "利润":[10, 20, 15, 28], "人员":["a", "b", "c", "d"], "年龄":[20, 15, 18, 30]}) display(df)
结果如下:
① 单字段分组:根据df中的某个字段进行分组。
g = df.groupby("部门") display(g) for (x,y) in g: display(x, y)
结果如下:
② 多字段分组:根据df中的多个字段进行联合分组。
g = df.groupby(["部门","小组"]) display(g) for (x,y) in g: display(x, y)
结果如下:
③ 字典:key指定索引,value指定分组依据,即value值相等的记录,会分为一组。
g = df.groupby({0:1, 1:1, 2:1, 3:2}) display(g) for (x,y) in g: display(x, y)
结果如下: