如何从值计数不满足条件的分类变量中删除行?

How to remove rows from a categorical variable whose value counts do not satisfy a condition?

我是 ML 和数据科学的新手(最近刚从商业分析硕士学位毕业),现在我在寻找数据科学/商业分析方面的职位时尽可能多地自学。

我正在研究一个实践数据集,目标是预测哪些客户可能会错过预定的约会。我的数据集中的一列是 "Neighbourhood",其中包含 30 多个不同社区的名称。我的数据集有 10,000 个观察值,有些街区名称只出现了不到 50 次。我认为在数据集中出现少于 50 次的社区太少了,机器学习模型无法对其进行正确分析。因此,我想从 "Neighborhood" 列中删除出现次数少于 50 次的社区名称。

几个小时以来,我一直在尝试为此编写代码,但一直没有成功。到目前为止,我得到了以下版本:

my_df = my_df.drop(my_df["Neighbourhood"].value_counts() < 50, axis = 0)

我也尝试过其他版本的代码来删除该分类列中的行,但我不断收到类似的错误:

KeyError: '[False False ...  True  True] not found in axis'

在此先感谢您的帮助,感谢您与我分享您的知识和见解!

试试下面的代码 - 它使用 .loc 运算符根据特定条件(即在具有高计数的社区中)select 行

counts = my_df['Neighborhood'].value_counts()
new_df = my_df.loc[my_df['Neighborhood'].isin(counts.index[counts > 50])]