You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

yfinance调用balance_sheet报错:'DataFrame' object is not callable

问题解决:yfinance中调用balance_sheet触发TypeError

问题场景

以下代码中,get_history()方法可正常运行,但调用get_balance_sheet('2y')时触发TypeError,提示'DataFrame'对象不可调用:

import yfinance as yf

class SAnalysis:
    def __init__(self, scrip):
        self.scrip = scrip
        self.data = yf.Ticker(self.scrip)

    def get_history(self):
        data = self.data.history()
        return data

    def get_balance_sheet(self, limit = '1y'):
        b_sheet = self.data.balance_sheet(period =  limit)
        return b_sheet

s = SAnalysis('NVDA')
s.get_history().head()
# 执行下方代码报错
# s.get_balance_sheet('2y')

错误信息:

TypeError                                 Traceback (most recent call last)
Cell In[18], line 1
----> 1 s.get_balance_sheet('2y')

Cell In[13], line 12, in SAnalysis.get_balance_sheet(self, limit)
 11 def get_balance_sheet(self, limit = '1y'):
---> 12     b_sheet = self.data.balance_sheet(period =  limit)
 13     return b_sheet

TypeError: 'DataFrame' object is not callable

问题原因

在yfinance库中,yf.Ticker对象的balance_sheet是DataFrame类型的属性,不是可调用的方法。你错误地将其当作方法添加括号传参,因此触发类型错误。

若需指定时间范围获取资产负债表,应使用带get前缀的get_balance_sheet()方法,该方法支持传入period参数。

修正后的代码

import yfinance as yf

class SAnalysis:
    def __init__(self, scrip):
        self.scrip = scrip
        self.data = yf.Ticker(self.scrip)

    def get_history(self):
        data = self.data.history()
        return data

    def get_balance_sheet(self, limit = '1y'):
        # 替换为get_balance_sheet方法
        b_sheet = self.data.get_balance_sheet(period=limit)
        return b_sheet

s = SAnalysis('NVDA')
# 现在可正常获取2年期资产负债表
print(s.get_balance_sheet('2y'))

补充说明

  • balance_sheet属性默认返回最近一期的资产负债表数据,无法指定时间范围
  • get_balance_sheet(period)方法支持的period参数包括:'1y', '2y', '5y', '10y', 'max'等,用于指定数据的时间跨度

内容的提问来源于stack exchange,提问作者Shimron Alakkal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 20:40:03