数据在打印时出现但不显示在数据框中

Data appears when printed but doesn't show up in dataframe

#! /usr/lib/python3

import yfinance as yf
import pandas as pd

pd.set_option('display.max_rows', None, 'display.max_columns', None)

# Request stock data from yfinance
ticker = yf.Ticker('AAPL')

# Get all option expiration dates in the form of a list
xdates = ticker.options

# Go through the list of expiry dates one by one
for xdate in xdates:
    # Get option chain info for that xdate
    option = ticker.option_chain(xdate)
    # print out this value, get back 15 columns and 63 rows of information
    print(option)
    # Put that same data in dataframe
    df = pd.DataFrame(data = option)
    # Show dataframe
    print(df)
    

预期:df 将显示 DataFrame 包含与 运行 print(option) 时显示的相同信息,即 15 列和 63 行数据,或在至少有一部分

实际:

由于打印时会出现所需的信息,我很困惑为什么它没有出现在数据框中。

对象的 calls 属性 中提供了特定到期日期的 option_chain 数据作为数据框。您不必创建新的数据框。

ticker = yf.Ticker('AAPL')
xdates = ticker.options
option = ticker.option_chain(xdates[0])
option.calls # DataFrame 

GitHub - yfinance