猿问

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

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


我正在研究一个实践数据集,目标是预测哪些客户可能会错过他们预定的约会。我的数据集中的一列是“邻里”,其中包含 30 多个不同邻域的名称。我的数据集有 10,000 个观测值,而一些邻域名称仅出现不到 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'

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


Helenr
浏览 46回答 1
1回答

繁华开满天机

尝试下面的代码 - 它使用 .loc 运算符根据特定条件(即在具有高计数的邻域中)选择行counts = my_df['Neighborhood'].value_counts()new_df = my_df.loc[my_df['Neighborhood'].isin(counts.index[counts > 50])]
随时随地看视频慕课网APP

相关分类

Python
我要回答