Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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_Pandas_Dataframe - Fatal编程技术网

Python 熊猫:仅删除熊猫数据帧中的特定重复列值

Python 熊猫:仅删除熊猫数据帧中的特定重复列值,python,pandas,dataframe,Python,Pandas,Dataframe,我正在尝试从pandas dataframe列中删除电子邮件地址的重复值,只保留第一个原始值。但是,并非所有案例都有电子邮件地址,因此它们具有“NaN”值。我需要根据不同的条件删除重复的NaN值 现在,我想保留所有等于NaN的电子邮件地址,以及重复电子邮件地址的唯一副本 例如,以下是熊猫数据框的外观: Email email@email.com NaN NaN email@email.com test@test.org 我想删除所有重复的电子邮件

我正在尝试从pandas dataframe列中删除电子邮件地址的重复值,只保留第一个原始值。但是,并非所有案例都有电子邮件地址,因此它们具有“NaN”值。我需要根据不同的条件删除重复的NaN值

现在,我想保留所有等于NaN的电子邮件地址,以及重复电子邮件地址的唯一副本

例如,以下是熊猫数据框的外观:

    Email
    email@email.com
    NaN
    NaN
    email@email.com
    test@test.org
我想删除所有重复的电子邮件地址,同时保留NaN值。所以,预期结果是这样的:

     Email
     email@email.com
     NaN
     NaN
     test@test.org

重复的电子邮件被删除,但NaN仍然存在。非常感谢您的帮助。

使用
复制的
+
notnull

m = ~(df.Email.duplicated() & df.Email.notnull())

df[m]


使用
复制的
+
notnull

m = ~(df.Email.duplicated() & df.Email.notnull())

df[m]


使用带有keep='first'的
drop_duplicates
,它将保留1,并删除另一个副本

data.drop_duplicates(subset ="Email", 
                     keep = 'first', inplace = True) 

使用带有keep='first'的
drop_duplicates
,它将保留1,并删除另一个副本

data.drop_duplicates(subset ="Email", 
                     keep = 'first', inplace = True) 

谢谢你!这似乎识别了正确的值,但我在我的专栏中得到了“真”和“假”布尔值,而不是删除重复的电子邮件地址并保留NaN。您是否使用掩码的结果索引数据帧?谢谢!这似乎可以识别正确的值,但我在我的专栏中得到了“True”和“False”布尔值,而不是删除重复的电子邮件地址并保留NaN。您是否使用掩码的结果索引数据帧?