从pandas DataFrame中去除NaT值
我有一个数据表,长得像下面这样:
mean
comp_name date
Appdynamics 2012-05-01 00:18:15.910000
2012-05-01 NaT
2012-05-01 NaT
2012-05-02 00:20:12.145200
2012-05-02 NaT
2012-05-02 NaT
在这里,comp_name和date组成了一个多重索引。我想去掉那些NaT(缺失时间)值,只保留那些平均值(timedelta64)不是NaT的行。
mean
comp_name date
Appdynamics 2012-05-01 00:18:15.910000
2012-05-02 00:20:12.145200
有什么好主意吗?
2 个回答
2
在Pandas 1.4.1版本中,dropna
这个功能可以去掉NaT
值。来源可以查看这个链接:文档,我正在使用这个功能。所以现在使用起来非常简单。
df = df.dropna()
25
pandas.notnull()
是一个函数,它会检查你给它的一个数据序列,返回一个布尔值序列。这个布尔值序列会标记出哪些地方是有效的,也就是说,哪些地方不是空值(比如 None、np.NaN 或 np.NaT)。然后你可以用这个布尔值序列来筛选数据框中的内容:
df[pandas.notnull(df['mean'])]