У вас есть небольшое представление о типе вашего index
. Это не a DateTimeIndex
:
>>> df.index
Index([2019-01-01 00:00:00, 2019-01-03 00:00:00, 2019-01-04 00:00:00,
'2010-05-05', 150],
dtype='object')
Индекс становится Object
индексом dtype, как только вы добавляете значение другого типа. DateTimeIndex
не может иметь типы временных меток, тип индекса изменен.
Если вы хотите удалить все значения, которые не являются датами и временем из вашего индекса, вы можете сделать это с помощью pd.to_datetime
и errors='coerce'
df.index = pd.to_datetime(df.index, errors='coerce')
A B
2019-01-01 12.0 25.0
2019-01-03 27.0 27.0
2019-01-04 15.0 27.0
2010-05-05 1.0 1.0
NaT 1.0 1.0
Чтобы получить доступ только к элементам, которые имеют действительный Timestamp
в качестве индекса, вы можете использовать notnull
:
df[df.index.notnull()]
A B
2019-01-01 12.0 25.0
2019-01-03 27.0 27.0
2019-01-04 15.0 27.0
2010-05-05 1.0 1.0