2016-06-15 2 views
5

У меня есть dataframe в панде в следующем виде:панда dataframe частоты дискретизации в день без индекса времени даты

 timestamps   light 
7 2004-02-28 00:58:45 150.88 
26 2004-02-28 00:59:45 143.52 
34 2004-02-28 01:00:45 150.88 
42 2004-02-28 01:01:15 150.88 
59 2004-02-28 01:02:15 150.88 

Здесь отметит, что индекс не столбец временных меток. Но я хочу перепробовать (или бинать данные каким-то образом), чтобы отразить среднее значение световой колонки в минуту, час, день и т. Д. Я просмотрел метод resample, который предлагает pandas, и для этого требуется, чтобы dataframe имел индекс данных для метода работы (если я не понял это).

  1. Итак, мой первый вопрос, я могу переиндексацию dataframe иметь временные метки в качестве индекса (обратите внимание, что не каждая строка имеет уникальную метку время и для каждой метки времени, есть около 30 строк с одной и той же временной меткой , каждый из которых представляет собой датчик).

  2. Если нет, есть ли другой способ, возможно, достичь другого кадра данных, который имеет среднее значение света в час, в день, в месяц и т. Д.?

Любая помощь будет принята с благодарностью.

ответ

5

Вы правы - нужно DatetimeIndex, TimedeltaIndex или PeriodIndex еще ошибка:

TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'Index'

Таким образом, вы должны сначала reset_index и set_index если оригинал index важно:

print (df.reset_index().set_index('timestamps')) 
        index light 
timestamps       
2004-02-28 00:58:45  7 150.88 
2004-02-28 00:59:45  26 143.52 
2004-02-28 01:00:45  34 150.88 
2004-02-28 01:01:15  42 150.88 
2004-02-28 01:02:15  59 150.88 

если не только set_index:

print (df.set_index('timestamps')) 
         light 
timestamps     
2004-02-28 00:58:45 150.88 
2004-02-28 00:59:45 143.52 
2004-02-28 01:00:45 150.88 
2004-02-28 01:01:15 150.88 
2004-02-28 01:02:15 150.88 

, а затем resample:

print (df.reset_index().set_index('timestamps').resample('1D').mean()) 
      index light 
timestamps     
2004-02-28 33.6 149.408 
Смежные вопросы