如何通过yfinance仅获取指定日期的股票调整收盘价?
提取指定日期的股票价格(仅数值)
我目前的实现代码如下:
import yfinance as yf import pandas as pd print(yf.download("META", start="2023-08-14", end="2023-08-15")['Adj Close'])输出包含额外信息:
Date 2023-08-14 306.190002 Name: Adj Close, dtype: float64希望仅获取2023年8月14日的股票价格数值,请问有哪些方法?
解决方案
以下几种方法可以直接提取纯价格数值:
方法1:使用
.iloc[0]按位置提取
由于你请求的是单日数据,返回的Series仅包含一个元素,直接通过位置索引获取数值:import yfinance as yf # 下载数据并提取Adj Close列 adj_close_series = yf.download("META", start="2023-08-14", end="2023-08-15")['Adj Close'] # 提取纯价格数值 price = adj_close_series.iloc[0] print(price) # 输出:306.190002方法2:使用
.values[0]转为numpy数组提取
将Series转为numpy数组后取第一个元素,效果与iloc一致:price = adj_close_series.values[0]方法3:通过日期索引精准定位
如果需要明确指定日期(避免位置索引出错的情况),直接用日期字符串作为索引提取:price = adj_close_series['2023-08-14']注意:若目标日期为非交易日,会抛出
KeyError,需确保日期是有效交易日。
额外优化
下载时可添加progress=False关闭下载进度条,让输出更简洁:
yf.download("META", start="2023-08-14", end="2023-08-15", progress=False)
内容的提问来源于stack exchange,提问作者k07
相关产品推荐
相关产品推荐

