我是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'我感谢您提前提供帮助,并感谢您与我分享您的知识和见解!
1 回答
繁华开满天机
TA贡献1816条经验 获得超4个赞
尝试下面的代码 - 它使用 .loc 运算符根据特定条件(即在具有高计数的邻域中)选择行
counts = my_df['Neighborhood'].value_counts()
new_df = my_df.loc[my_df['Neighborhood'].isin(counts.index[counts > 50])]
添加回答
举报
0/150
提交
取消