Индекс панд выходит в качестве заголовка - PullRequest
0 голосов
/ 01 октября 2019

Я создал класс для хранения нескольких таймфреймов для анализа временных рядов. Я реализовал функцию в изолированном тестовом примере, и она проходит, но когда я запускаю код, заголовок для DF становится индексом. Поскольку мой индекс - это мои временные ряды, это ставит под сомнение весь анализ. Так как функция проходит сама по себе, я в некотором роде в растерянности, и я не смог найти какие-либо статьи о путанице в индексах и заголовках панд.

5 строк кода под функцией - это части внутрикласс данных, который добавляет новые данные в фрейм данных. Я очень сомневаюсь, что именно в этом и заключается ошибка, потому что эта функция даже не сработала до того, как я получил ошибку, но я вынул '' sort = True '' 'в конце, просто чтобы посмотреть, и это выкинуло время выполнениятак что я решил включить его. Не пытается спам с ненужной информацией, просто искренне потерян.

    def startData(self,slice):

        for i in self.data.data.keys():
            if i >1:

                #is the leak here? where else could it be?
                self.data.data[i] = pd.DataFrame({'openTime':[pd.to_datetime(slice.index[0])],
                                                  'open':[slice.open[0]],'high':[slice.high[0]],
                                                  'low':[slice.low[0]],'close':[slice.close[0]]}
                                                 ).set_index('openTime')
            else:
                self.data.data[i] = pd.DataFrame({'openTime':pd.to_datetime(slice.index),
                                                  'open':slice.open,'high':slice.high,
                                                  'low':slice.low,'close':slice.close}
                                                 ).set_index('openTime')
###################################################
    dat = pd.DataFrame({'openTime':[slice.index[0]],'open':[slice.open.iloc[0]],
                            'high':[slice.high.max()],'low':[slice.low.min()],
                            'close':[slice.close.iloc[slice.close.size-1]]}
                           ).set_index('openTime')

    self.data[frame] = self.data[frame].append(dat, sort = True)

    ###########################
    slice_columns=['askclose','askhigh','asklow','askopen',
        'bidclose','bidhigh','bidlow','bidopen' ,'close' ,'high' ,'low','open']
slice_index is the time-series

'' 'Во время инициализации алгоритма произошло следующее исключение: ValueError: (' Unknown string format: ',' open') в Initialize в main.py:line 45 :: self.startData (history) в startData в main.py:line 99 в start_data_sub в main.py:line 118 :: f1 = pd.to_datetime (bar.index [0]) # base / f1 time ValueError: ('Неизвестный формат строки:', 'open') '' '

Это ошибка, которую я получаю при попытке получить доступ к первому пробелу в базовом фрейме. индексируя данные с.

Я распечатал индекс, и он выглядит так:

'' Index (['open', 'high', 'low', 'close'], dtype = 'object') '' '

Это должен быть список отметок времени. Любая помощь, советы или ссылки будут с благодарностью.

...