您好,登錄后才能下訂單哦!
Python數據分析中的numpy基礎是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
前言
NumPy(Numerical Python的簡稱)是高性能科學計算和數據分析的基礎包。NumPy最重要的一個特點就是其N維數組對象(即ndarray),該對象是一個快速而靈活的大數據集容器。新手可能不理解這句話的含義,這個需要慢慢去理解 。總之,知道numpy是python數據分析最重要的基礎包就可以了。有了numpy才可以利用這種數組對整塊數據執行一些數學運算,比python自帶的數組以及元組效率更高,其語法跟變量元素之間的運算一樣,無需進行循環操作。
python默認進行多個數據的計算,是使用循環,如果循環次數多,就非常耗時。舉個簡單的案例,我們要計算100000個隨機數的值,如果傳統編程需要寫循環,用了2.2s,而使用numpy數據結構,則可以進行向量化操作,無需循環,只需要28.2ms 節約大量時間。
a=[1,2,3,4,5] b=np.array([1,2,3,4,5]) a+1 b+1 a*10 b*10
numpy的核心是ndarray(n-dimensional array),多維數組。所謂數據就是同一類型數據的集合,比如1000個數字構成一個數組,1000個字符也構成一個數組。numpy包含很多函數,可以將python數據結構很容易轉換為numpy的ndarray。
a=[1,2,3,4,5] b=np.array([1,2,3,4,5]) a+1 b+1 a*10 b*10
比較傳統列表數組與ndarray的區別
a=[1,2,3,4,5] b=np.array([1,2,3,4,5]) a+1 b+1 a*10 b*10
numpy有很多函數,其中使用numpy比較多的功能是利用其生產數字,比如隨機數,正太分布,等差數列等。
# 使用array創建數組: arr = np.array([1,2,3]) arr = np.array([1,2,3],[4,5,6],[7,8,9]) # 使用arange創建數組 arr = np.arange(0,10,1) #創建1-12的3行4列的二維數組 arr = np.arange(12).reshape(3,4) # random生成隨機數 #生成隨機數種子 np.random.seed(1234) #randn 產生正太分布樣本 np.random.randn(1000) #隨機生成整數數據集 np.random.randint(size=1000,low=1,high=1000)
numpy內置了很多計算的函數,可以進行很多數學,輸入數據是一個ndarray即可。
# 使用array創建數組 #x是一個包含1000個隨機正整數的集合,取值范圍從1~1000。 x=np.random.randint(size=1000,low=1,high=1000) #輸出x x #進行集合的求和,平均值,方差,標準差等計算 np.sum(x) np.mean(x) np.var(x) np.std(x) np.min(x) np.max(x) np.argmin(x) np.argmax(x) np.cumsum(x) np.cumprod(x)
下面做一個有意思的計算機性能測試,隨機生成一個大的數據集,看你的計算機能計算多少位,這個和內存有關系。
#生成100萬個數值進行計算 x=np.random.randint(size=1000000,low=1,high=1000) np.sum(x) #生成1000萬個數值進行計算 x=np.random.randint(size=10000000,low=1,high=1000) np.sum(x) #生成1億個數值進行計算 x=np.random.randint(size=100000000,low=1,high=1000) np.sum(x) #如果覺得自己計算機性能不錯,可以計算挑戰
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。