Python 从numpy数组中删除pandas中的特定行

Python 从numpy数组中删除pandas中的特定行,python,pandas,Python,Pandas,我有一个数千行长的数据帧,如下所示: ID Email Address 1 ... ... 2 ... ... 3 ... ... 4 ... ... 1 ... ... 2 ... ... 5 ... ... 5 ... ... 6 ... ... 我想做的是删除ID的副本,这样每个人只有一个ID。我不能使用drop_duplicates(),因为大多数人没有ID,这也会删除它们(不

我有一个数千行长的数据帧,如下所示:

ID  Email Address
1   ...    ... 
2   ...    ... 
3   ...    ... 
4   ...    ... 
1   ...    ... 
2   ...    ... 
5   ...    ... 
5   ...    ... 
6   ...    ... 
我想做的是删除ID的副本,这样每个人只有一个ID。我不能使用drop_duplicates(),因为大多数人没有ID,这也会删除它们(不好!)

是否有一种方法可以删除特定的行并只保留一个ID实例

如果有帮助的话,我有一个包含所有重复ID的数据帧。e、 g.对于我上面给出的示例:

ID  Email  Address
1   ...    ...
2   ...    ...
5   ...    ...

也许有一种方法可以将其转换为一系列/阵列ID,并以这种方式从df中删除?

我相信您需要链2条件-对于所有重复,保留=False,对于第一个重复,没有参数:

df = df[df.duplicated(subset='ID', keep=False) & df.duplicated(subset='ID')]
print (df)
   ID Email Address
4   1   ...     ...
5   2   ...     ...
7   5   ...     ...
这是你想要的吗

df[df.duplicated(subset='ID')]

    ID Email Address
4   1   ...     ...
5   2   ...     ...
7   5   ...     ...

预期的输出是什么?@nixon我认为空白项也被视为重复项,因此数千行被删除,只是因为没有ID。谢谢@user8322222@user8322222-请检查编辑后的答案。嗨,尼克松,不幸的是,这似乎也在删除ID的空白条目(我想这与删除重复项()的问题相同)ID的空白条目?你能举一个你想要的输出的例子吗?既然你想从另一个答案中得到什么,你可以简单地做到这一点Hi nixon,我正在寻找以下信息:ID电子邮件地址1。。。2.3.4.5.回答了。谢谢你的帮助和时间D@user8322222-太好了,很高兴能帮上忙!