Numpy的基礎入門總結

2021-10-09 07:22:11 字數 1641 閱讀 4227

nmupy的介紹

num ----- numerical 數值化的

py ------- python

其中ndarray是numpy中非常重要的物件

n ----- 任意

d ----- 維度

array ----- 陣列

為什麼使用numpy

numpy運算效率更加快捷

ndarray的優勢:

1.儲存風格

ndarray -相同型別,因此是連續儲存的 -通用性不強

list - 不同型別 - 通用性很強

2.並行化運算

ndarray 支援向量化(並行化)運算

3.底層語言

numpy底層使用c語言編寫,內部解除了gil(全域性直譯器鎖),對陣列運算效率不受python直譯器限制。

生成陣列的方法

1).生成0、1的陣列:np.zeros()、np.ones()

2).從現有的陣列生成:

np.array()、np.copy() 深拷貝

np.asarray() 淺拷貝

三者的區別是,淺拷貝,當現有的陣列發現數值的改變時,該陣列也會發生改變,而深拷貝不會。

3).生成固定範圍的陣列

np.linspace(0,10,100) 從[0,10] 等距離 生成100個,注意0和10兩者都是閉包

np.arange(a,b,c) [a,b) c 步長,注意左閉右開1。

4).生成隨機數組

生成滿足均勻分布的隨機數組:

np.random.uniform(low,hige,size)

生成滿足正態分佈的隨機數組:

np.random.normal(β,σ,size)

知道了怎麼生成陣列,可以驗證numpy運算效率的快捷性:

import random

import time

list=[

]",for i in

range

(100000000):

list))

ndarry = np.array(

list

)#原生求和時間

t1 = time.time(

)a =

sum(

list

)t2 = time.time(

)d1 = t2-t1

#ndarray求和時間

t3 = time.time(

)b = np.

sum(ndarry)

t4 = time.time(

)d2 = t3-t4

數量越多時,效率差距會更大。

形狀修改

ndarray.reshape(shape) 返回新的ndarray,原始資料沒有修改

ndarray.resize(shape) 無返回值,對原始的ndarray進行修改

ndarray.t 轉置矩陣

資料型別的修改:

ndarray.astype(type)

ndarray序列化到本地

ndarray.tostring()

陣列的去重:

set() 利用集合的特性去重

np.unique(ndarray)

關於numpy的應用還需自己練習!

numpy入門總結2

1.array的分割 1.1 np.split 被分割的array,分割成多少片段,從哪個方向上進行分割 方法 np.split a,2,axis 1 注 1 axis 1 表示對行進行操作,對行進行分割操作,結果是,分成了好幾列 axis 0 表示對列進行操作,直接對列進行分割操作,結果是,分成了...

NumPy基礎入門學習

對於習慣使用了matlab的使用者而言,學習numpy這個python工具包付出的成本應該是不大的。numpy的基本的object是多維陣列,是乙個有同樣型別的數字等構成的一張 能夠通過元組進行索引。本篇主要列出numpy中最經常使用的一些操作。1,ndarray 型別的一些屬性 from nump...

Python的Numpy入門基礎1

numpy作為python的常用庫,主要實現陣列的計算和分析,其優點是直接進行陣列計算,相比python的巢狀列表,更加高效。在功能上,與pandas存在一定的相似性。引用庫的方法 import numpy as np 一般縮寫為np,方便後續的引用在資料分析過程中,存在建立定義 索引 切片 矩陣轉...