确定非datetimeindex?

2024-05-08 19:28:43 发布

您现在位置:Python中文网/ 问答频道 /正文

如何识别和删除下列索引中的非datetimeindex行。你知道吗

Index([nan, nan, nan, nan, u'aveValue', u'minValue', u'maxValue', u'firstValue', u'lastValue', u'nPointsTot', u'nGood', u'nBlankTimes', u'nBlankValues', u'level_nGood', u'level_nSuspect', u'level_nBad', u'status_nGood', u'2009-01-01 00:00:00', u'2009-01-01 00:05:00', u'2009-01-01 00:10:00', u'2009-01-01 00:15:00', u'2009-01-01 00:20:00', u'2009-01-01 00:25:00', u'2009-01-01 00:30:00', u'2009-01-01 00:35:00', u'2009-01-01 00:40:00', u'2009-01-01 00:45:00', u'2009-01-01 00:50:00', u'2009-01-01 00:55:00', u'2009-01-01 01:00:00', u'2009-01-01 01:05:00', u'2009-01-01 01:10:00', u'2009-01-01 01:15:00', , ...], dtype='object')

我需要删除索引不是时间戳的行。 最有效的方法是什么?你知道吗

#type (df[0].index)
=> class 'pandas.core.index.Index'

Tags: indexnanleveldatetimeindexmaxvalueminvaluefirstvaluelastvalue
1条回答
网友
1楼 · 发布于 2024-05-08 19:28:43

转换索引to datetime,强制错误,并过滤NaT结果:

df[pd.to_datetime(df.index, errors='coerce').to_series().notnull().values]

为了使用notnull方法,我将datetime索引转换为一个序列。然后我将序列转换成一个布尔向量,用于索引。你知道吗

编辑

这适用于任何版本:

df[pd.Series(pd.to_datetime(df.index, errors='coerce')).notnull().values]

相关问题 更多 >