pandas中关于DataFrame的groupby方法,如何取出分组的ID(行名称)和ID对应的个数

groupby的函数定义:

DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)[source]

有关于groupby的拆分问题实在难找,经过多次测试,终于得到很好的解决办法。见示例代码:

#按A列进行分组,得到分组后的(没有重复行)groupby对象
df_gp = df.groupby("A")

#得到分组的总长度
lenth = len(df_gp.count())

#得到分组后的ID(行名称)
id_name = df_gp.size().values

#得到分组后ID(行名称)对应的数量
id_num = df_gp.size().index

补充一些其他可能会用到的方法:
max(), min(), sum()

groupby也是可以进行迭代的:

for i,j in df_gp:
    print(i,j)

还可以通过get_group()方法取出对应的组!

#取出行id为"WEEKDAWN"的组
df_gp.get_group("WEEKDAWN")

猜你喜欢

转载自blog.csdn.net/weekdawn/article/details/81391159