我有一个 100000 行 X 200 列的数据集。我想进行分类。 我的目标列是一个对象(字符串),具有 1345 个唯一值。
假设我的目标列是“姓名”。我只想保留以下名字:John、Mary、Chris、Anna。如何“过滤”我的数据集,使其仅包含目标列中具有这些名称的行?
过滤数据集后,我想创建一个有四个类的分类器,即四个名称。我考虑过使用 get_dummies,但我将有 4 个目标列。我只想转换,例如,John = 1、Mary = 2 等。
有什么想法吗?
非常感谢
最佳答案
您可以使用 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来实现通过提取类别代码。
关于python - 过滤 Pandas 中的对象列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50187907/