2

複数の列 (例: 列 A、B -> ) を使用して DataFrame をグループ化しています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
4

1 に答える 1

1
my_df.groupby(['A', 'B']).count()
len(my_df.groupby(['A', 'B']).groups)

カウントを含む列を追加するには、transformを使用できます。

df["size"] = df.groupby(['A', 'B']).transform(len)
于 2013-10-25T03:50:13.380 に答える