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



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

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

我已经试着为此写了几个小时的代码,但很难把它写对。到目前为止,我已经得到了以下版本:

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

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

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

我感谢您提前提供的帮助,并感谢您与我分享您的知识和见解!

试试下面的代码-它使用.loc运算符根据特定条件选择行(即在计数高的邻域中(

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

最新更新