Dash应用中使用pandas to_datetime转换日期列出现TypeError的原因是什么?
问题根因
你代码中全局变量frequency_count的赋值逻辑末尾,reset_index是pandas提供的DataFrame方法,未添加调用括号()时,变量frequency_count会被赋值为方法本身,而非转换后的结构化数据表。后续回调函数中尝试对方法对象执行df['date']的下标取值操作,直接触发'method' object is not subscriptable报错。
修复方式
找到全局代码段中的对应行:
frequency_count = df.groupby(['date'])['seizure_type'].value_counts().to_frame(name='frequency').reset_index
仅需在末尾补充括号调用reset_index方法即可:
frequency_count = df.groupby(['date'])['seizure_type'].value_counts().to_frame(name='frequency').reset_index()
额外优化建议(可选)
两个回调函数中存在大量重复的数据过滤逻辑,可以抽成公共工具函数,减少代码冗余,后续修改逻辑时仅需修改一处即可。
内容的提问来源于stack exchange,提问作者Peter Coles
相关产品推荐
相关产品推荐

