как использовать функцию dataframe между_time ()

Я пытаюсь использовать функцию between_time . Я отформатировал строку типа time to datetime

 dataset['TimeStamp'] = pd.to_datetime(dataset['TimeStamp'],format) 

и я определил время начала и окончания поиска:

 start = datetime.time(9,40,0) end = datetime.time(10,00,0) 

затем я вызываю dataset['TimeStamp'].between_time(start, end)

Это ошибка, которую я получаю:

 TypeError: Index must be DatetimeIndex 

Пожалуйста, как я могу это исправить. спасибо

One Solution collect form web for “как использовать функцию dataframe между_time ()”

Пример. Я использую информацию из комментариев:

 import pandas as pd import StringIO import datetime data = '''time --- value 1984-12-12 14:08:00 --- 1 1984-12-12 14:25:00 --- 2 1984-12-12 14:47:00 --- 4 1984-12-12 16:37:00 --- 3 1984-12-12 16:37:00 --- 9 1984-12-12 16:37:00 --- 5 1984-12-12 17:52:00 --- 3 1984-12-12 17:52:00 --- 7 1984-12-12 19:29:00 --- 2''' #------------------------------------------------ df = pd.read_csv(StringIO.StringIO(data), sep=' --- ') df['time'] = pd.DatetimeIndex(df['time']) print "\nDataFrame:\n", df print '\nIndex:', type(df.index) #------------------------------------------------ df.set_index(keys='time', inplace=True) print "\nDataFrame:\n", df print '\nIndex:', type(df.index) #------------------------------------------------ start = datetime.time(14,50,0) end = datetime.time(18,0,0) print "\nResult:\n", df['value'].between_time(start, end) 

Результаты:

 DataFrame: time value 0 1984-12-12 14:08:00 1 1 1984-12-12 14:25:00 2 2 1984-12-12 14:47:00 4 3 1984-12-12 16:37:00 3 4 1984-12-12 16:37:00 9 5 1984-12-12 16:37:00 5 6 1984-12-12 17:52:00 3 7 1984-12-12 17:52:00 7 8 1984-12-12 19:29:00 2 Index: <class 'pandas.core.index.Int64Index'> DataFrame: value time 1984-12-12 14:08:00 1 1984-12-12 14:25:00 2 1984-12-12 14:47:00 4 1984-12-12 16:37:00 3 1984-12-12 16:37:00 9 1984-12-12 16:37:00 5 1984-12-12 17:52:00 3 1984-12-12 17:52:00 7 1984-12-12 19:29:00 2 Index: <class 'pandas.tseries.index.DatetimeIndex'> Result: time 1984-12-12 16:37:00 3 1984-12-12 16:37:00 9 1984-12-12 16:37:00 5 1984-12-12 17:52:00 3 1984-12-12 17:52:00 7 Name: value, dtype: int64 
  • Как распечатать dataframe без индекса
  • Pandon pandas: сохранить выбранный столбец как DataFrame вместо серии
  • Pandas - проверьте, содержит ли столбец строки пару строк
  • Изменить группу панд
  • Повторная выборка кадра данных в пандах в качестве операции проверки
  • pandas iloc vs ix vs loc объясняет?
  • индекс значений «NaN» в Pandas
  • Resample intraday pandas DataFrame без добавления новых дней
  • Python - лучший язык программирования в мире.