Python 删除数据中包含NaN的具有双时间戳的行

Python 删除数据中包含NaN的具有双时间戳的行,python,pandas,datetime,duplicates,nan,Python,Pandas,Datetime,Duplicates,Nan,我有一个pandas数据框,其中有一个pandas datetime,我用pandas.to_datetime和一个变量值创建了该datetime: 日期时间值 2018-10-01 00:00:00 231 2018-10-01 00:01:00 233 2018-10-01 00:01:00南 2018-10-01 00:02:00 220 我想删除带有双时间戳和NaN的行,我尝试了几种可能性,如pd.Seriesdf['datetime'].duplicated

我有一个pandas数据框,其中有一个pandas datetime,我用pandas.to_datetime和一个变量值创建了该datetime:

日期时间值 2018-10-01 00:00:00 231 2018-10-01 00:01:00 233 2018-10-01 00:01:00南 2018-10-01 00:02:00 220

我想删除带有双时间戳和NaN的行,我尝试了几种可能性,如pd.Seriesdf['datetime'].duplicatedkeep='first',但它并不总是第一行,也不总是最后一行。

您可以使用一个检查df['value']是否为NaN的条件来检查df['datetime']列是否重复


非常感谢。因此,我提取了双精度和NaN的数据,有没有办法准确地选择其他的数据,或者最好先这样做,然后从df中删除这些行?@Betty抱歉,我没有理解你的问题,它不起作用还是。。?一种精确选择其他项的方法这意味着您的代码可以工作,它选择df中所有重复且值为NaN的项。但是我实际上想从dfI中删除这些,我想@Betty的意思是他们在寻找与您的代码保留的相反的东西,即:df[~df['datetime'].DuplicateKeep=False&df['value'].isna]@DarrylG ohh,我明白了,谢谢:是的,那么反向操作就行了
df[~(df['datetime'].duplicated(keep=False) &  df['value'].isna())]