首页 > 解决方案 > 名称“pd”未定义

问题描述

# Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# Importing the dataset
dataset = pd.read_csv('Data.csv')
print(dataset)

错误:

dataset = pd.read_csv('Data.csv')
Traceback (most recent call last):

  File "<ipython-input-6-bd7168d85704>", line 1, in <module>
    dataset = pd.read_csv('Data.csv')

NameError: name 'pd' is not defined

标签: pythonpandas

解决方案


根据您的评论,您正在使用 Spyder。回溯向我确认您正在dataset = pd.read_csv('Data.csv')IPython 交互式控制台中运行。

Spyder 在脚本和控制台之间有可配置的命名空间共享。跑步:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

in a script 使脚本中的代码和交互式控制台中的代码都可以访问所有 3 个模块。您也可以import pandas as pd在控制台中运行,然后pd无限期地在那里使用。根据您使用的设置,此导入可能会可能不会在您的脚本中可用。

你的问题是你要么:

  1. 没有跑到import pandas as pd 任何地方
  2. 您在某个时候重新启动了内核并丢失了导入
  3. 您已将 Spyder 配置为在每次运行脚本时擦除脚本的命名空间,但尚未考虑到这一点。

不管你对命名空间共享有什么设置,总是将模块导入你的脚本,不要依赖 Spyder 的不寻常的怪癖,因为你的代码不会在其他地方工作。您在控制台中执行的操作无关紧要。


推荐阅读