NameError:name' Series'没有定义

时间:2016-01-23 18:17:20

标签: python

我是编码新手,目前正在尝试Udacity Data Science简介课程。试图在演讲中重现一个例子。

以下是代码:

import pandas as pd
import numpy as np

d = {
    'name': Series(['Braund', 'Cummings', 'Heikkinen', 'Allen'], index=['a', 'b', 'c', 'd']), 
    'age': Series([22, 38, 26, 35], index=['a', 'b', 'c', 'd']),
    'fare': Series([7.25, 71.83, 8.05], index=['a', 'b', 'd']),
    'survived?': Series([False, True, True, False], index['a', 'b', 'c', 'd'])
}
df = DataFrame(d)
print df

这是我的错误:

Traceback (most recent call last):
  File "dataframe.py", line 4, in <module>
    d = {'name': Series(['Braund', 'Cummings', 'Heikkinen', 'Allen'],
NameError: name 'Series' is not defined
Aschs-MacBook-Air:mystuff aschharwood$ 

我保存为.py文件并在终端中运行。

非常感谢您的帮助和指导!

2 个答案:

答案 0 :(得分:11)

您已将模块导入为命名空间。您尝试使用的类不在本地名称空间中,而是在导入模块的名称空间中。

只需引用正确的命名空间 - 使用pd.__WHAT_YOU_WANT__

import pandas as pd

d = {'name': pd.Series(['Braund', 'Cummings', 'Heikkinen', 'Allen'],
index = ['a', 'b', 'c', 'd']), 'age': pd.Series([22, 38, 26, 35], 
index = ['a', 'b', 'c', 'd']), 'fare': pd.Series([7.25, 71.83, 8.05], index = ['a', 'b', 'd']),
'survived?': pd.Series([False, True, True, False], index['a', 'b', 'c', 'd'])}


df = pd.DataFrame(d)

print df

答案 1 :(得分:5)

或者,您可以将函数直接导入主命名空间。

from pandas import Series, DataFrame

然后,每次调用它们时,您都可以跳过pd.前置Series()DataFrame函数调用。换句话说,您可以完全像编写原始代码一样运行原始代码。