You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选Pandas中date_closed非NaT行?NaT相关疑问

解答你的Pandas NaT相关问题

1. 如何筛选出date_closed列不为NaT的行?

有几种简单易用的方法:

  • 方法一:使用notna()方法
    直接通过布尔索引精准筛选:
    filtered_df = df[df['date_closed'].notna()]
    
  • 方法二:使用dropna()方法
    指定删除date_closed列中带缺失值的行:
    filtered_df = df.dropna(subset=['date_closed'])
    

两种方法效果一致,选你顺手的用就行~

2. NaT是什么?它是否等同于Null?

  • NaT的本质:NaT是Not a Time的缩写,是Pandas(以及底层的NumPy)专门为datetime64[ns]、timedelta64[ns]这类时间相关数据类型设计的缺失值标记。类比一下:数值类型的缺失值是NaN,时间类型的缺失值就是NaT。
  • 和Null的关系:从逻辑含义上来说,它和一般的Null(比如Python里的None、数据库中的Null)是类似的,都代表“缺失或不存在的值”,但数据类型完全不同:
    • None是Python对象类型的缺失值,没法直接放在datetime64类型的列中;
    • NaT是专为时间序列打造的,只能用于datetime64或timedelta64类型的列,属于NaN家族的一员,只是对应的数据场景不同。

3. 为什么df['date_closed'].value_counts()里看不到NaT?

这是因为value_counts()的默认参数dropna=True,这个参数会自动忽略所有缺失值(包括NaT和NaN)。如果想要把NaT也纳入统计,只需要把dropna参数设为False:

df['date_closed'].value_counts(dropna=False)

这样就能看到包含NaT在内的所有唯一值的计数结果了。

内容的提问来源于stack exchange,提问作者HHH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:32:43