Установка частоты временных рядов Pandas Кадр данных с двумя столбцами индекса - PullRequest
1 голос
/ 02 марта 2020

У меня есть фрейм данных, "df", который имеет индекс даты и времени и еще один столбец index с именем "Location":

                        V1   V2  
Date       Location             
2001-01-01  1           0.5  0.7
            2           0.6  0.5
2001-01-02  3           0.8  0.2
            4           0.8  0.2
2001-01-03  5           0.2  0.4
            6           0.2  0.5
2001-01-04  7           0.2  0.3
            8           0.8  0.7

Как видите, фрейм данных имеет несколько наблюдения под той же датой.

Чтобы использовать некоторые статистические пакеты, я должен установить частоту информационного кадра в «дни», используя этот метод:

df = df.asfreq('d')

Тем не менее, информационный кадр имеет два столбца индекса; одна дата и другое, которого нет. Когда я попытался установить частоту, используя подход, который находится в заголовке кодового блока, я получил эту ошибку:

Ошибка типа: Невозможно преобразовать ввод [(Отметка времени ('2002-07-23 00:00:00) +0000 ', tz =' UT C '),' 1 ')] типа Timestamp

Если я пытаюсь установить только дату в качестве столбца индекса, я получаю случай, когда одна и та же дата появляется в кадре несколько раз. Короче говоря; Pandas интерпретирует эти повторяющиеся экземпляры как дубликаты.

Как бы вы решили эту проблему?

1 Ответ

1 голос
/ 02 марта 2020

Существует MultiIndex, поэтому возможное решение изменено на DataFrame.unstack сначала для DatetimeIndex, а затем изменено на DataFrame.stack:

df = df.unstack().asfreq('d').stack()
print (df)
                      V1   V2
Date       Location          
2001-01-01 1         0.5  0.7
           2         0.6  0.5
2001-01-02 3         0.8  0.2
           4         0.8  0.2
2001-01-03 5         0.2  0.4
           6         0.2  0.5
2001-01-04 7         0.2  0.3
           8         0.8  0.7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...