我有一个数据集100000行X 200列。我想进行分类。 我的目标列是一个对象(字符串),有1345个唯一值。
我们假设我的目标列是'名字'。我有兴趣保留以下名字:约翰,玛丽,克里斯,安娜。如何“过滤”我的数据集,以便它只包含目标列中包含这些名称的行?
过滤数据集之后,我想创建一个分类器,它将有四个类,这意味着四个名称。我想过使用get_dummies,但是我会有4个目标列。我只想转换例如John = 1,Mary = 2等
有什么想法吗?
非常感谢
答案 0 :(得分:0)
您可以使用pd.DataFrame.loc
在列中进行过滤:
name_set = {'John', 'Mary', 'Chris', 'Anna'}
res = df.loc[df['names'].isin(name_set)]
您可以使用字典将姓名映射到数字标识符:
d = {'John': 1, 'Mary': 2, 'Chris': 3, 'Anna': 4}
res['names'] = res['names'].map(d)
第二步也可以通过提取类别代码使用Categorical Data来实现。