我是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'感谢您提前给予我的帮助,感谢您与我分享您的知识和见解!
发布于 2020-03-26 06:46:29
尝试下面的代码-它使用.loc运算符根据特定条件选择行(即在计数较高的社区)
counts = my_df['Neighborhood'].value_counts()
new_df = my_df.loc[my_df['Neighborhood'].isin(counts.index[counts > 50])]https://stackoverflow.com/questions/60858422
复制相似问题