Python通过字典创建pandas DataFrame报错TypeError: 'list' object is not callable
问题原因
你的代码本身不存在语法问题,报错是Python运行环境的变量被意外覆盖导致的:
- 你在当前运行环境的历史操作中,已经将
pd.DataFrame赋值成了一个列表类型的变量,覆盖了pandas原生的DataFrame构造类,调用被覆盖后的列表变量时就会触发TypeError: 'list' object is not callable报错。 - 你可以先执行
print(type(pd.DataFrame))验证问题,如果输出结果为<class 'list'>即可确认是该问题。
解决方法
你可以任选以下任意一种方式修复:
- 直接重启你的Python运行环境(Jupyter Notebook重启内核、交互式解释器退出重进),再重新运行你编写的代码即可正常生成DataFrame。
- 若不想重启环境,可以执行以下代码重新加载pandas覆盖被污染的变量:
import importlib import pandas as pd pd = importlib.reload(pd)
执行完成后再运行你原本的代码即可正常运行。
内容的提问来源于stack exchange,提问作者Mauro
相关产品推荐
相关产品推荐

