数据在打印时出现但不显示在数据框中
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 行数据,或在至少有一部分
实际:
df
只显示两列没有信息
df.shape
结果为 (2,1)
print(df.columns.tolist())
结果为 [0]
由于打印时会出现所需的信息,我很困惑为什么它没有出现在数据框中。
对象的 calls
属性 中提供了特定到期日期的 option_chain
数据作为数据框。您不必创建新的数据框。
ticker = yf.Ticker('AAPL')
xdates = ticker.options
option = ticker.option_chain(xdates[0])
option.calls # 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 行数据,或在至少有一部分
实际:
df
只显示两列没有信息df.shape
结果为(2,1)
print(df.columns.tolist())
结果为[0]
由于打印时会出现所需的信息,我很困惑为什么它没有出现在数据框中。
对象的 calls
属性 中提供了特定到期日期的 option_chain
数据作为数据框。您不必创建新的数据框。
ticker = yf.Ticker('AAPL')
xdates = ticker.options
option = ticker.option_chain(xdates[0])
option.calls # DataFrame