删除具有双时间戳的行,这些行在数据中具有 NaN

Remove rows with double timestamps, which have NaN in data

我有一个带有 pandas 日期时间的 pandas 数据框(我用 pandas.to_datetime 创建了那个日期时间)和一个变量值:

datetime value 2018-10-01 00:00:00 231 2018-10-01 00:01:00 233 2018-10-01 00:01:00 NaN 2018-10-01 00:02:00 220

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

您可以使用 & 条件检查 df['datetime'] 列是否为 duplicated,该条件检查 df['value'] 是否为 nan

df[~(df['datetime'].duplicated(keep=False) &  df['value'].isna())]