如何将yfinance返回的Pandas数据转换为Python列表?
解决Pandas DataFrame转浮点列表的AttributeError问题
你的错误是因为df["Close"]可能返回的是DataFrame对象而非Series(比如yfinance返回的数据存在多重列名,或者下载结果的结构特殊),而DataFrame没有tolist()方法。以下是几种可靠的解决方式:
方法1:使用values.tolist()
直接提取数值数组再转列表,兼容Series和DataFrame:
import yfinance as yf df = yf.download("AIR.DE", interval="1m", period="1d") x = df.index.tolist() y = df["Close"].values.tolist() # 改用values.tolist()
方法2:将DataFrame转为Series后调用tolist()
用squeeze()方法把单列DataFrame压缩成Series,再转列表:
y = df["Close"].squeeze().tolist()
方法3:使用Pandas的to_list()方法
Series对象支持to_list()(和tolist()等价),如果df["Close"]是Series可以直接用:
y = df["Close"].to_list()
额外检查
如果不确定df["Close"]的类型,可以先打印类型确认:
print(type(df["Close"]))
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

