Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 过滤熊猫中的对象列_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 过滤熊猫中的对象列

Python 过滤熊猫中的对象列,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个100000行X 200列的数据集。我想进行分类。 我的目标列是一个对象(字符串),具有1345个唯一值 假设我的目标列是“names”。我只想保留以下姓名:约翰、玛丽、克里斯、安娜。如何“过滤”数据集,使其仅包含目标列中具有这些名称的行 过滤完数据集后,我想创建一个分类器,该分类器将有四个类,即四个名称。我曾考虑使用get_dummies,但随后我将有4个目标列。我只想变换,例如,John=1,Mary=2,等等 有什么想法吗 非常感谢您可以使用pd.DataFrame.loc在列中进

我有一个100000行X 200列的数据集。我想进行分类。 我的目标列是一个对象(字符串),具有1345个唯一值

  • 假设我的目标列是“names”。我只想保留以下姓名:约翰、玛丽、克里斯、安娜。如何“过滤”数据集,使其仅包含目标列中具有这些名称的行

  • 过滤完数据集后,我想创建一个分类器,该分类器将有四个类,即四个名称。我曾考虑使用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)
    

    第二步也可以通过提取类别代码来实现。

    下面的答案是否有帮助?请随意接受答案(左边绿色的勾号),或要求澄清。@apostolos,太好了,左边有一个绿色的勾号,您应该单击-这向其他用户表明问题已经解决。