开发接收股票代码参数的DataFrame股价绘图函数
解决股票走势图绘制函数的实现问题
看起来你需要完善这个graph函数,从现有的bedrijf(也就是company)数据框中提取指定股票代码的数据,然后绘制股价走势。我来一步步帮你补全代码:
首先,我们需要先从bedrijf中筛选出匹配传入ticker的股票数据行。假设你的bedrijf数据框里有一列专门存储股票代码(比如列名为'Ticker'),那第一步就是定位到对应行:
import pandas as pd import matplotlib.pyplot as plt def graph(ticker): # 从bedrijf中筛选出指定ticker的股票数据 stock = bedrijf[bedrijf['Ticker'] == ticker] # 处理找不到对应股票的情况 if stock.empty: print(f"Error: 未找到股票代码为{ticker}的数据") return # 提取x轴(列名)和y轴(对应行的数值) xAs = stock.columns[2:26] yAs = stock.iloc[0, 2:26] # 绘制走势图 plt.figure(figsize=(12, 6)) plt.plot(xAs, yAs, marker='o', linestyle='-', color='b') # 添加图表标题和标签 plt.title(f"{ticker} 股价走势") plt.xlabel("时间/周期") plt.ylabel("股价") plt.xticks(rotation=45) # 旋转x轴标签,避免重叠 plt.tight_layout() # 自动调整布局 plt.show()
关键细节说明:
- 数据筛选:
bedrijf[bedrijf['Ticker'] == ticker]会返回所有匹配该股票代码的行,如果你的股票代码列名不是'Ticker',记得替换成实际的列名(比如'Symbol')。 - 空值处理:加入
if stock.empty的判断,防止传入不存在的股票代码时程序报错。 - 绘图优化:用
matplotlib绘制折线图,添加了标记点、旋转x轴标签等细节,让图表更易读。 - 数据范围:
columns[2:26]和iloc[0,2:26]严格对应你原代码中指定的列范围,确保提取的是正确的股价周期数据。
如果你的bedrijf数据框结构不同(比如股票代码在索引列),可以调整筛选逻辑:
# 假设股票代码是数据框的索引 stock = bedrijf.loc[[ticker]]
这样调用graph('TNET')就能生成对应股票的股价走势图了。
内容的提问来源于stack exchange,提问作者JeffryYa
相关产品推荐
相关产品推荐

