Я скачал некоторые данные о цене акций через API (из Alphavantage):
response = requests.get("https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=MSFT&apikey=XXX")
data = response.json()
df = pd.DataFrame.from_dict(data["Time Series (Daily)"], orient='index')
и преобразованные столбцы в числовые (df.apply (pd.to_numeric))
Это вывод в Jupyter - очень стандартная матрица дат и цен на акции.
Я не могу понять, как манипулировать данными (например, умножить df.loc[df['1. open'] > 93, '1. open'] *= 2
), что обычно легко. Я думаю, что с данными индекса что-то не так. Я попытался df.index = pd.to_datetime(df.index)
, чтобы получить его в формате timedate, а также попытался переименовать индекс. Кроме того, столбец индекса не загружается, если я пытаюсь переместить фрейм данных в файл CSV.
Я думаю, проблема в том, что данные индекса по-прежнему являются строками, но я не понимаю, почему они не становятся датой-временем с кодом выше.
Я получаю сообщение об ошибке («>» не поддерживается между экземплярами «str» и «int»), но решения по другим вопросам также не работают.
Извините за мой длинный вопрос и большое спасибо за любую помощь!