Python 如何找到熊猫的亚群统计数据?
我正在使用多列(例如,a列、B列->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
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)