2017-06-16 36 views
0

我通過下面的機器學習教程工作:不能在Python中導入數據使用熊貓

http://machinelearningmastery.com/machine-learning-in-python-step-by-step/

這裏是我的(MAC)開發環境:

Python 2.7.10 
scipy: 0.13.0b1 
numpy: 1.8.0rc1 
matplotlib: 1.3.1 
pandas: 0.20.2 
sklearn: 0.18.1 

當我嘗試運行一個腳本,從包含CSV數據的URL加載數據,我得到以下錯誤:

Traceback (most recent call last): 
    File "load_data.py", line 4, in <module> 
    dataset = pandas.read_csv(url, names=names) 
NameError: name 'pandas' is not defined 

這裏的腳本:

# Load dataset 
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data" 
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class'] 
dataset = pandas.read_csv(url, names=names) 
+0

回溯顯示您的csv數據,但* pandas *命名對象。你是什​​麼'進口'行?如果它讀取'import pandas as pd',那麼你必須用* pd *:'pd.read_csv()'限定所有熊貓物件。 – Parfait

回答

2

你的錯誤說:

dataset = pandas.read_csv(url, names=names) 
NameError: name 'pandas' is not defined 

這意味着你'試圖使用pandas.read_csv()而不導入Pandas fi RST。當你想使用外部庫時,你必須導入它。如果它沒有安裝在你的機器上,你可能必須先安裝它。假設大熊貓被安裝在機器上,這樣的代碼將工作:

import pandas 
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data" 
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class'] 
dataset = pandas.read_csv(url, names=names) 

輸出:

dataset.head(3) 

    sepal-length sepal-width petal-length petal-width  class 
0   5.1   3.5   1.4   0.2 Iris-setosa 
1   4.9   3.0   1.4   0.2 Iris-setosa 
2   4.7   3.2   1.3   0.2 Iris-setosa 
+0

添加導入語句爲我擺脫了錯誤,但是,我無法獲取數據以這種方式顯示。您是否將「dataset.head(3)」語句作爲腳本的第五行加入? – HMLDude

+0

好的,剛剛在dataset.head調用之前添加了一個打印命令並使其正常工作! – HMLDude

0

你可以先導入之前下載的數據

import urllib 
import pandas as pd 

file_path = "./iris.csv" 

#download data 
urllib.request.urlretrieve("https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data", file_path) 

#load it 
dataset = pd.read_csv(file_path, names=names) 

希望它可以幫助

0

你得到的錯誤,因爲「熊貓」尚未進口。 pandas是python的導入庫。

修復: 進口大熊貓

您可以以後使用它。

更好的選擇: 進口大熊貓作爲PD

=>「PD」將是一個簡短形式的代表在腳本中的大熊貓。建議以這種方式導入,以減少每次需要在代碼中編寫「重新輸入」熊貓「的時間。

乾杯!