2016-01-23 6 views
5

私は現在、Udacity Data Scienceのイントロコースを試しています。講義での例を再現しようとしています。ここでNameError:name 'Series'が定義されていません

コードです:

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ファイルとして保存し、端末で実行しています。

あなたの助けと指導は大変ありがとうございます!

+3

'Series'を' pd.Series'で置き換え、 'DataFrame'を' pd.DataFrame'で置き換えます。 –

答えて

9

モジュールを名前空間としてインポートしました。使用しようとしているクラスは、ローカルの名前空間にはなく、インポートされたモジュールの名前空間にあります。

は単純に正しい名前空間を参照してください - 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 
+0

これはうまくいきました。手伝ってくれてどうもありがとう! – Aschharwood

+0

非常によく説明されています。 – madhavi

2

また、あなたが直接あなたのメインの名前空間に関数をインポートします。

from pandas import Series, DataFrame 

は、あなたは Series()から pd.を付加スキップすることができ、 DataFrame機能は、あなたがそれらを呼び出すたびに呼び出されます。言い換えると、元のコードを書いたとおりに実行することができます。

関連する問題