Windows10+Python3下安裝NumPy+SciPy+Matplotlib,windows10numpy

來源:互聯網
上載者:User

Windows10+Python3下安裝NumPy+SciPy+Matplotlib,windows10numpy

Numpy、SciPy、MatplotLib是Python下從事科學計算必不可少的庫。我在用其他的方法安裝時出現各種問題,發現直接安裝.whl包是最快且不報錯的方法。

1.下載.whl包
在下面的網站中找需要的.whl檔案下載
http://www.lfd.uci.edu/~gohlke/pythonlibs/
要和自己本地安裝的版本一致,我選擇的whl檔案是:
numpy-1.13.0+mkl-cp36-cp36m-win32.whl
scipy-0.19.1-cp36-cp36m-win32.whl
matplotlib-2.0.2-cp36-cp36m-win32.whl

2.開始在命令列安裝
>pip3 install c:\(whl檔案下載的路徑)\numpy-1.13.0+mkl-cp36-cp36m-win32.whl
>pip3 install c:\(whl檔案下載的路徑)\scipy-0.19.1-cp36-cp36m-win32.whl
>pip3 install c:\(whl檔案下載的路徑)\matplotlib-2.0.2-cp36-cp36m-win32.whl

如果不出意外,這就都安裝好了。

3.開始測試
測試代碼來自:http://www.cnblogs.com/jasonfreak/p/5441512.html 感謝作者

  1 from numpy import array  2 from numpy.random import normal  3 from matplotlib import pyplot  4   5 def genData():  6     heights = []  7     weights = []  8     grades = []  9     N = 10000 10  11     for i in range(N): 12         while True: 13             # 身高服從均值172,標準差為6的常態分佈 14             height = normal(172, 6) 15             if 0 < height: break 16         while True: 17             # 體重由身高作為自變數的線性迴歸模型產生,誤差服從標準常態分佈 18             weight = (height - 80) * 0.7 + normal(0, 1) 19             if 0 < weight: break 20         while True: 21             # 分數服從均值為70,標準差為15的常態分佈 22             score = normal(70, 15) 23             if 0 <= score and score <= 100: 24                 grade = 'E' if score < 60 else ( 25                 'D' if score < 70 else ('C' if score < 80 else ('B' if score < 90 else 'A'))) 26                 break 27         heights.append(height) 28         weights.append(weight) 29         grades.append(grade) 30     return array(heights), array(weights), array(grades) 31  32  33 # 繪製柱狀圖 34 def drawBar(grades): 35     xticks = ['A', 'B', 'C', 'D', 'E'] 36     gradeGroup = {} 37     # 對每一類成績進行頻數統計 38     for grade in grades: 39         gradeGroup[grade] = gradeGroup.get(grade, 0) + 1 40     # 建立柱狀圖 41     # 第一個參數為柱的橫座標 42     # 第二個參數為柱的高度 43     # 參數align為柱的對齊,以第一個參數為參考標準 44     pyplot.bar(range(5), [gradeGroup.get(xtick, 0) for xtick in xticks], align='center') 45  46     # 設定柱的文字說明 47     # 第一個參數為文字說明的橫座標 48     # 第二個參數為文字說明的內容 49     pyplot.xticks(range(5), xticks) 50  51     # 設定橫座標的文字說明 52     pyplot.xlabel('Grade') 53     # 設定縱座標的文字說明 54     pyplot.ylabel('Frequency') 55     # 設定標題 56     pyplot.title('Grades Of Male Students') 57     # 繪圖 58     pyplot.show() 59  60  61 #繪製餅形圖 62 def drawPie(grades): 63     labels = ['A', 'B', 'C', 'D', 'E'] 64     gradeGroup = {} 65     for grade in grades: 66         gradeGroup[grade] = gradeGroup.get(grade, 0) + 1 67     #建立餅形圖 68     #第一個參數為扇形的面積 69     #labels參數為扇形的解說文字 70     #autopct參數為扇形佔比的顯示格式 71     pyplot.pie([gradeGroup.get(label, 0) for label in labels], labels=labels, autopct='%1.1f%%') 72     pyplot.title('Grades Of Male Students') 73     pyplot.show() 74  75  76 #繪製長條圖 77 def drawHist(heights): 78     #建立長條圖 79     #第一個參數為待繪製的定量資料,不同於定性資料,這裡並沒有事先進行頻數統計 80     #第二個參數為劃分的區間個數 81     pyplot.hist(heights, 100) 82     pyplot.xlabel('Heights') 83     pyplot.ylabel('Frequency') 84     pyplot.title('Heights Of Male Students') 85     pyplot.show() 86  87  88 #繪製累積曲線 89 def drawCumulativeHist(heights): 90     #建立累積曲線 91     #第一個參數為待繪製的定量資料 92     #第二個參數為劃分的區間個數 93     #normed參數為是否無量綱化 94     #histtype參數為'step',繪製階梯狀的曲線 95     #cumulative參數為是否累積 96     pyplot.hist(heights, 20, normed=True, histtype='step', cumulative=True) 97     pyplot.xlabel('Heights') 98     pyplot.ylabel('Frequency') 99     pyplot.title('Heights Of Male Students')100     pyplot.show()101 102 103 #繪製散佈圖104 def drawScatter(heights, weights):105     #建立散佈圖106     #第一個參數為點的橫座標107     #第二個參數為點的縱座標108     pyplot.scatter(heights, weights)109     pyplot.xlabel('Heights')110     pyplot.ylabel('Weights')111     pyplot.title('Heights & Weights Of Male Students')112     pyplot.show()113 114 115 #繪製盒鬚圖116 def drawBox(heights):117     #建立盒鬚圖118     #第一個參數為待繪製的定量資料119     #第二個參數為資料的文字說明120     pyplot.boxplot([heights], labels=['Heights'])121     pyplot.title('Heights Of Male Students')122     pyplot.show()123 124 data = genData()125 print(data)126 heights = data[0]127 weights = data[1]128 grades = data[2]129 drawBar(grades)130 drawPie(grades)131 drawHist(heights)132 drawCumulativeHist(heights)133 drawScatter(heights, weights)134 drawBox(heights)

 

運行結果:

drawBar(grades)

 

drawPie(grades)

 

drawHist(heights)

 

drawCumulativeHist(heights)

 

drawScatter(heights, weights)

 

drawBox(heights)

 

成功!

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.