如何编写自定义函数获取指定股票的最高、最低收盘价?
获取指定股票的最高、最低收盘价
需求说明
- 目标:获取某只股票的最高、最低收盘价
- 参数:
df:包含股票数据的 Pandas DataFramesymbol:需要查询的股票代码
- 返回值:返回两个值,分别为该股票的最高收盘价、最低收盘价
现有问题
当前编写的函数只能计算整个DataFrame中close列的全局最值,无法针对指定股票代码筛选数据,需要通过布尔掩码实现指定股票的筛选。现有代码如下:
def get_high_low_close(df, symbol): symbol = df[df.stock == "AA"] highest_close = df['close'].max() lowest_close = df['close'].min() return highest_close, lowest_close
修正后的代码
def get_high_low_close(df, symbol): # 用布尔掩码筛选出指定股票代码的行 stock_data = df[df['stock'] == symbol] # 基于筛选后的子集计算最高、最低收盘价 highest_close = stock_data['close'].max() lowest_close = stock_data['close'].min() return highest_close, lowest_close
代码解释
- 布尔掩码
df['stock'] == symbol会生成一个布尔序列,标记DataFrame中每行的stock列是否等于目标代码symbol - 用该掩码筛选
df,得到仅包含目标股票数据的子集stock_data - 针对这个子集的
close列计算最大值和最小值,就是指定股票的最高、最低收盘价
内容的提问来源于stack exchange,提问作者Abbas Khan
相关产品推荐
相关产品推荐

