Numpy В массиве отсутствуют даты, когда я получаю данные из API (yfinance) - PullRequest
2 голосов
/ 27 мая 2020

Я пытаюсь собрать данные о запасах в массиве Numpy, в котором даты курсов акций указаны в первом столбце. Когда я превращаю данные непосредственно в массив, я получаю [ 30.99 32.08 32.12 ... 318.66 315.77 323.5 ] вот мой код ниже.

import numpy as np
import yfinance as yf

def price(ticker):
    company = yf.Ticker(ticker)
    price = company.history(period="10y")
    array = np.array(price)
    return array
aapl = price("AAPL")
Aaple = aapl[:, 0]

Если я использую фрейм данных, я получу это

def price(ticker):
    company = yf.Ticker(ticker)
    price = company.history(period="10y")
    df = pd.DataFrame(price)
    df.drop(df.columns[i], axis=1)
    return df
aapl = price("AAPL")
print(aapl)


                  Open    High     Low   Close     Volume  Dividends  Stock Splits
Date                                                                          
2010-05-27   30.99   31.40   30.81   31.33  166570600       0.00           0.0
2010-05-28   32.08   32.08   31.33   31.77  203903700       0.00           0.0
...            ...     ...     ...     ...        ...        ...           ...

2020-05-22  315.77  319.23  315.35  318.89   20450800       0.00           0.0
2020-05-26  323.50  324.20  316.50  316.73   30880340       0.00           0.0

Я могу сбросить индекс фреймов данных df.reset_index() и получить доступ к датам. Почему я не могу получить доступ к датам в массиве, что делать? Я не хочу использовать фреймы данных, поскольку массивы работают намного быстрее.

1 Ответ

1 голос
/ 27 мая 2020

У меня была такая же проблема, это выходные и праздничные дни, в эти дни рынки закрыты. Преобразование в массив numpy проблематично: c, так как даты либо datetime, либо string, а остальные данные - float. Чтобы сохранить первый столбец, вам необходимо преобразовать его в float или int, например, с помощью функции юлианского дня https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timestamp.to_julian_date.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...