#pandas #datetimeindex
#pandas #datetimeindex
Вопрос:
Кажется, я не могу индексировать строки, используя индекс datetime в pandas. Информация в моем фрейме данных показывает, что индекс равен datetimeindex:
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 223 entries, 2013-10-29 to 2017-05-29
Data columns (total 6 columns):
Unnamed: 0 223 non-null float64
company 223 non-null object
date 223 non-null object
date_conv 223 non-null object
text 223 non-null object
title 223 non-null object
dtypes: float64(1), object(5)
memory usage: 17.2 KB
Но когда я делаю это, возвращается «ошибка ключа»
df['2017-02-04']
Должен ли я указывать имя серии индексов как «index», чтобы это работало? Хотя мой df использует datetimeindex, имя столбца индекса не ‘index’, а ‘date_conv’.
Комментарии:
1. используйте df.loc[‘2017-02-04’]
2. @run-out Ок, это сработало! Спасибо
Ответ №1:
В вашем примере '2017-02-04'
это строка. Вы должны ссылаться на строку по datetime:
df.loc[datetime.datetime.strptime('2017-2-4', '%Y-%m-%d'),:]
Ответ №2:
Вы можете использовать строку для адреса строки во фрейме данных, но вам нужно сделать это с помощью свойства loc:
df_row = df.loc['2017-02-04']