Pandas: преобразовать словарь Yfinance во фрейм данных, но строка пуста

#python #pandas #dataframe #yfinance

#python #pandas #фрейм данных #yfinance

Вопрос:

У меня есть словарь Yfinance, подобный этому:

{‘zip’: ‘94404’, ‘sector’: ‘Healthcare’, ‘fullTimeEmployees’: 11800, ‘circulatingSupply’: Нет, ‘StartDate’: Нет, ‘regularMarketDayLow’: 67,99, ‘priceHint’: 2, ‘currency’: ‘USD’}

Я хочу преобразовать его в DataFrame, но на выходе нет информации о строке:

Просмотр записной книжки Jupyter:

введите описание изображения здесь

Ответ №1:

 Data = {'zip': '94404', 'sector': 'Healthcare', 'fullTimeEmployees': 11800, 'circulatingSupply': None, 'startDate': None, 'regularMarketDayLow': 67.99, 'priceHint': 2, 'currency': 'USD'}
  

Третья скобка вокруг переменной dictionary:

 df = pd.DataFrame([Data])
df
  

Результат:

      zip    sector   fullTimeEmployees  circulatingSupply   startDate   regularMarketDayLow priceHint   currency
0   94404   Healthcare  11800               None              None          67.99              2         USD
  

Комментарии:

1. @Janicewww Добро пожаловать! вы можете пометить это как ответ и нажать «За» в левом верхнем углу.

Ответ №2:

 # Data returned back by yfinance
stock = yf.Ticker('AAPL')

# Store stock info as dictionary
stock_dict = stock.info

# Create DataFrame from non-compatible dictionary
stock_df = pd.DataFrame(list(stock_dict.items()))


    0   1
0   zip 95014
1   sector  Technology
2   fullTimeEmployees   137000
3   longBusinessSummary Apple Inc. designs, manufactures, and markets ...
4   city    Cupertino
5   phone   408-996-1010
6   country United States
7   companyOfficers []
8   website http://www.apple.com
9   maxAge  1
10  address1    One Apple Park Way
  

Комментарии:

1. Здравствуйте. Могу ли я узнать, как я могу поместить скобки в данные? Как добавить скобки в выходные данные?

2. @Janicewww Я пересмотрел ответ выше. Данные, возвращенные в переменную «stock» с помощью yf. Ticker — это не обычный словарь, которым он кажется. Именно по этой причине я использовал «.items()» при создании фрейма данных. Это скорее частичный ответ, чтобы хотя бы перевести его во фрейм данных. Я столкнулся с проблемами, пытаясь использовать серию 0 в качестве столбцов, а серию 1 в качестве данных.