- У меня есть df формы 3000,125
- Первый ряд моего df представляет тикеры облигаций
- 2-й ряд представляет дату, когда они были проданы
Мой индекс - это исторический временной ряд, а значения в df представляют дневные цены на акции, например:
AAPL GOOGLE IBM
16/02/2018 15/03/2022 22/08/2020
2019/jan/02 5 4 3
2019/jan/03. 4 4 4
2019/jan/04. 4 4 5
2019/jan/05 3 5 2
2012/Mar/03 10 20 22
Я хотел бы запустить цикл на значениях, однакодля этого индекс и df.iloc[0]
или первая строка должны быть в одном формате.
Мне удалось преобразовать индекс в формат даты и времени, используя следующий код без проблемы:
dftest2.index = pd.to_datetime(dftest2.index, format='%Y%m%d')
Проблема состоит в том, что я хочу преобразовать первую строку dfсоответствовать формату индекса.Первая строка находится в строковом формате в форме '%d/%m/Y%'
), однако для того, чтобы она соответствовала индексу, она должна быть в '%Y%m%d'
.
Я использовал следующий код, чтобы он соответствовал формату даты индекса:
dftest2.iloc[0] = pd.to_datetime(dftest2.iloc[0]).dt.strftime('%Y-%m-%d')
И запуск приведенного ниже кода также приводит к следующей ошибке:
dftest2.iloc[0] = pd.to_datetime(dftest2.iloc[0]).datetime.strptime('%Y-%m-%d')
AttributeError: 'Series' object has no attribute 'datetime'
Узнайте, как теперь преобразовать это в индекс соответствия формата даты и времени.Предыдущие попытки преобразования в datetime привели к тому, что строка была преобразована в формат int с бессмысленными числами, 187745300000 и т. Д.
Как преобразовать строку в соответствие с индексом.Ошибка, которую я получаю сейчас при запуске цикла:
TypeError: '>' not supported between instances of 'numpy.ndarray' and 'str'
Я просмотрел весь стекопоток на предмет возможных вариантов моей проблемы, но без успеха.