numpy庫是python的一個著名的科學計算庫,本文是一個quickstart。html
BMI = 體重(kg)/身高(m)^2
假若有以下幾組體重和身高數據,讓求每組數據的BMI值:java
執行上面代碼,報錯:TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'
這是由於普通的除法是元素級的而非向量級的,並不能應用到一組數據上。
解決方案:使用numpy.ndarray數據結構(N維數組),運算是面向矩陣的:python
注:和python的列表不一樣的是,numpy.ndarray數據結構的元素之間是沒有逗號分隔的。數組
numpy數組:numpy.ndarray數據結構
numpy.ndarray是numpy最基本的數據結構,即N維數組,且數組中的元素須要是同一種類型,若是不是,則會自動轉換成同一種類型,如:app
能夠看到都被轉成了字符串類型。dom
不一樣數據類型的不一樣行爲函數
子集測試
二維numpy數組
二維numpy數組是以list做爲元素的數組,好比:字體
經過shape屬性值能夠看出,np_2d是一個2行5列的二維數組。
single type原則
二維numpy數組的子集
還能夠在兩個軸向上分別切片:
選取第1行:
求對應的BMI值:
用numpy生成呈正太分佈的隨機測試數據,並求各項基本的統計數據。
好比生成10000條數據集,記錄的是某個鎮上全部居民的身高(m)、體重(kg)數據,所用到的函數:
np.random.normal(均值,標準差,取樣數)
下面將若干個(這裏是2個)一維數組拼成一個二維數組(有點像zip()函數的做用):
求np_info身高平均值:
求身高的中位數:
求身高和體重的相關係數:
求身高的標準差:
排序(不會影響源數組):
求和:
基本用法
畫散點圖
畫直方圖
圖表個性化
解決繪圖時中文顯示爲方塊的問題
原文連接:
https://www.cnblogs.com/jiayongji/p/7354213.html
-END-