#python #pandas #dataframe #floating-point #yfinance
Вопрос:
Я хотел бы загрузить данные с помощью yfinance на python, а затем распечатать только последнюю цену закрытия этой акции в качестве плавающей, что является проблемой, потому что это lt;class 'pandas.core.frame.DataFrame'gt;
.
Таким образом, в основном есть две проблемы:
- получите последнюю цену закрытия
- и распечатайте его в виде поплавка
Поскольку я не знаю, как начать с проблемы цены закрытия, я покажу вам только свой код, пытающийся решить проблему с плавающим значением:
import yfinance as yf from datetime import datetime, timedelta import pandas as pd pd.set_option('display.max_rows', None) pd.set_option('display.max_columns', None) pd.set_option('display.width', None) pd.set_option('display.max_colwidth', None) ticker = "tsla" start = datetime.now() - timedelta(days=2) end = datetime.now() price = yf.download(ticker, start=start, end=end, interval="1m") # lt;class 'pandas.core.frame.DataFrame'gt; print(float(price))
Ошибка, которую я получаю, заключается в:
print(float(price)) TypeError: float() argument must be a string or a number, not 'DataFrame'
Большое спасибо за вашу помощь!
Комментарии:
1. Формат, который вы получаете, представляет собой фрейм данных, поэтому, если вы хотите получить только цену закрытия, используйте price [«Закрыть»]. Это значение уже находится в формате float, поэтому нет необходимости его преобразовывать. Если вам нужна только цена закрытия без индекса даты, используйте
price['Close'].values
.