Ars*_*k36 3 python dataframe pandas categorical-data data-cleaning
我是机器学习和数据科学领域的新手(最近刚从商业分析硕士学位毕业),现在在寻找数据科学/商业分析方面的职位时,我会尽可能多地自学。
我正在研究一个实践数据集,目的是预测哪些客户可能会错过预定的约会。我的数据集中的一列是“Neighbourhood”,其中包含 30 多个不同社区的名称。我的数据集有 10,000 个观测值,某些社区名称仅出现不到 50 次。我认为在数据集中出现次数少于 50 次的社区太罕见,无法通过机器学习模型进行正确分析。因此,我想从“Neighborhood”列中删除在该列中出现次数少于 50 次的街区名称。
我已经尝试为此编写代码几个小时了,但很难做到正确。到目前为止,我已经得到了以下版本:
my_df = my_df.drop(my_df["Neighbourhood"].value_counts() < 50, axis = 0)
Run Code Online (Sandbox Code Playgroud)
我还尝试了其他版本的代码来删除该分类列中的行,但我不断收到类似的错误:
KeyError: '[False False ... True True] not found in axis'
Run Code Online (Sandbox Code Playgroud)
我非常感谢您提前提供的帮助,并感谢您与我分享您的知识和见解!
小智 5
尝试下面的代码 - 它使用 .loc 运算符根据特定条件(即在计数较高的邻域中)选择行
counts = my_df['Neighborhood'].value_counts()
new_df = my_df.loc[my_df['Neighborhood'].isin(counts.index[counts > 50])]
Run Code Online (Sandbox Code Playgroud)