根据行频率对pandas数据帧进行排序

Ssa*_*ank 1 pandas

我有一个pandas数据帧df:

Name Score
AAAA    4
AAAA    7
AAAA   12
AAAA   13
BBBB    1
BBBB    1
CCCC    1
CCCC    2
CCCC   27
Run Code Online (Sandbox Code Playgroud)

我想要一个新的数据帧,只有当每个"名称"出现至少3次时才会有来自df的值.即所需的输出是

Name Score
AAAA    4
AAAA    7
AAAA   12
AAAA   13
CCCC    1
CCCC    2
CCCC   27
Run Code Online (Sandbox Code Playgroud)

我知道df.groupby ['Name']给出了每个名字的频率.有关如何使用此信息获取所需输出的任何建议.谢谢

HYR*_*YRY 5

使用groupbyfilter:

df.groupby("Name").filter(lambda df:df.shape[0] > 2)
Run Code Online (Sandbox Code Playgroud)

  • 我有点不同意在这里使用df作为变量名,我也认为我只使用len:`df.groupby("Name").filter(lambda x:len(x)> 2)` (2认同)