Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何找到熊猫的亚群统计数据?_Python_Pandas - Fatal编程技术网

Python 如何找到熊猫的亚群统计数据?

Python 如何找到熊猫的亚群统计数据?,python,pandas,Python,Pandas,我正在使用多列(例如,a列、B列->my_df.groupby(['a','B']))对数据帧进行分组,是否有更好(更少的代码行,更快)的方法来查找每个子组中有多少行以及总共有多少子组?目前我正在使用: def get_grp_size(grp): grp['size'] = len(grp) return grp my_df = my_df.groupby(['A','B']).apply(get_grp_size) my_df[['A','B','size']].drop_d

我正在使用多列(例如,a列、B列->
my_df.groupby(['a','B'])
)对数据帧进行分组,是否有更好(更少的代码行,更快)的方法来查找每个子组中有多少行以及总共有多少子组?目前我正在使用:

def get_grp_size(grp):
    grp['size'] = len(grp)
    return grp
my_df = my_df.groupby(['A','B']).apply(get_grp_size)
my_df[['A','B','size']].drop_duplicates().size
要添加包含计数的列,可以使用:

要添加包含计数的列,可以使用:


谢谢结果是一个数据帧,其计数替换所有列(除“a”和“B”)值。有没有一种方法可以将其放入一个新列中?所以您希望在原始数据帧中计算列数?像SQL中的计数(*)除以(A,B)吗?我不知道SQL的等价物,但是是的,您描述的结果就是我想要的结果。谢谢!结果是一个数据帧,其计数替换所有列(除“a”和“B”)值。有没有一种方法可以将其放入一个新列中?所以您希望在原始数据帧中计算列数?就像SQL中的count(*)over(partition by A,B)一样?我不知道SQL的等价物,但是您描述的结果就是我想要的结果。
my_df.groupby(['A', 'B']).count()
len(my_df.groupby(['A', 'B']).groups)
df["size"] = df.groupby(['A', 'B']).transform(len)