2014-02-22 243 views
2

我開始學習如何使用numpy/scipy/matplotlib和其他相關的庫。我很快發現,我從第三方來源(書籍,wikipedia等)獲得的代碼很少正常運行,主要是由於導入錯誤。在庫中找到正確的方法

的這樣一個例子是下面的(來自維基百科獲取代碼):

輸入:

>>> from numpy.random import normal,rand 
>>> x = normal(size=200) 
>>> plt.hist(x,bins=30) 
>>> plt.show() 

然而,當我試圖運行它:

AttributeError: 'module' object has no attribute 'hist' 

現在,我實現這裏的核心錯誤是進口不匹配。這發生之前,每次我谷歌錯誤消息,並找到正確的導入'層'。這裏我的主要問題是我怎樣才能找到正確的導入位置?我嘗試通過使用dir()函數探索模塊來自己做這件事,但在試圖在plt目錄中查找函數hist的情況下,我無法做到這一點。我是否應該搜索每個目錄,直到找到我需要的功能?

+2

體驗? plt通常來自'import matplotlib.pyplot as plt';這是一種隱含的慣例。 –

+3

Google'「plt.hist」'。你會發現很多正確的導入語句的例子,例如[來自文檔的這一個](http://matplotlib.org/users/pyplot_tutorial.html)。 – unutbu

回答

3

Hugh已經給出了你的答案,但我會通過向你介紹一些其他常見的約定,特別是在處理數據分析堆棧時給你一些幫助。

import matplotlib.pyplot as plt 
import numpy as np 
import pandas as pd 
import statsmodels.api as sm 
+0

Statsmodels應該導入'import statsmodels.api as sm' – jseabold

+0

Thanks Skipper,updated。 –

相關問題