Python Dashboard回调报错:'method' object is not subscriptable 求助
错误原因分析
核心问题
错误TypeError: 'method' object is not subscriptable的直接原因是:你在赋值df_intermediate时,没有调用DataFrame的copy()方法,而是引用了方法本身。
看这段代码:
df_intermediate = df_data[df_data["BOROUGH"] == location] if location != 0 else df_data.copy
当location == 0时,df_intermediate被赋值为df_data.copy(这是一个方法对象),而不是执行copy()后得到的新DataFrame。后续尝试对方法对象使用[]进行索引操作(df_intermediate[df_intermediate["GROSS SQUARE FEET"] <= size_limit]),自然会抛出“方法对象不可下标访问”的错误。
修复方案
把df_data.copy改为df_data.copy(),确保调用方法获取复制后的DataFrame:
df_intermediate = df_data[df_data["BOROUGH"] == location] if location != 0 else df_data.copy()
额外检查点
注意代码中slider_size变量未在Callback函数内定义,需确保它是全局可用的,或已正确传入/初始化,避免后续出现NameError。
内容的提问来源于stack exchange,提问作者Berserk
相关产品推荐
相关产品推荐

