Python資料科學numpy的基礎屬性 建立

2021-09-12 14:01:55 字數 2499 閱讀 8939

numpy是乙個底層為ndarray型別的資料科學包,特點是快速的科**算,以陣列形式存在的。通常和pandas、matplotlibs合用,含有較多的統計分析函式。

a = np.array([[20,3,24],[23,4,2]])

print("陣列形狀:"+ str(a.shape))

print("陣列的軸數:"+ str(a.ndim))

print("陣列元素的個數:"+ str(a.size))

print("陣列元素的型別:"+ str(a.dtype))

print("陣列元素的位元組大小:"+ str(a.itemsize))

從結果可以看出個陣列屬性的用法:np.函式名np.shape:以元組形式返回陣列的形狀

np.ndim:返回陣列的軸數,int型別;此處是二維的2行3列,則返回2,

np.size:返回陣列元素的個數,int型別;2*3

np.dtype:返回陣列元素的型別

np.itemsize:返回陣列元素的位元組大小

為什麼從將這幾個陣列屬性分成兩部分呢,因為乙個陣列最主要的屬性由這兩個組成,其他都可以從這兩個去推導出來。

shape陣列形狀(2,3) 則可以推出 ndim軸數=2,size元素個數=2*3=6

dtype陣列元素型別,知道元素的資料型別,自然也就知道對應的位元組大小

為了多個輸出結果能區分清楚,新增了------的輸出。numpy內含有多種建立函式,這裡列舉了幾個常用建立方法說明。

np.arange(begin,end,step):建立[begin,end),步長step的一維整數陣列,注意是左閉右開

np.ones(shape):按shape的形狀,建立元素都是1的陣列

np.zeros(shape):按shape的形狀,建立元素都是0的陣列

np.full(shape,val):按shape的形狀,以val值全部填充的陣列

np.eye(val):建立對角線為1,val乘val的正方形陣列,例子中是3乘3,對角線為1的陣列

np.linspace(begin,end,parts,endpoint=true):建立在[begin,end]範圍內分成parts等份,例子中是(10,50,5) 意思從[10,50]中分成5份來組成陣列元素,注意是左閉右也閉;預設endpoint=true,意思是末值(此處是50)是否包含在內,若設定為false,則不包含。

np.array(列表/字典):這是一開始講基礎屬性時建立陣列的方法(具體可以往上看),這種方法比較自由,可以以多種形式建立,也不限維度。

還有3個類似的函式,介紹一下

np.ones_like(shape)

np.zeros_like(shape)

np.full_like(shape,val)

看到函式名字和引數設定,想必也能夠猜到以上3個函式的用法,直接上圖。

不多解釋了,就是基礎上給個like,「模仿」shape的形狀來建立對應的陣列。

小結一句:以上建立陣列的函式,所涉及的shape引數,一定要用元組形式寫進,如(2,3),否則會提示引數無效的錯誤

python科學計算 numpy

畢設的程式設計中使用了python來處理資料,主要使用的是numpy包,網上大部分對numpy進行介紹的教程比較老舊,想要使用的功能不太容易找到。因此,寫這篇文章來對現有的一些資源就行整理,當然想要更全面的了解numpy的使用還是從訪問官方手冊開始。win下 pip isntall numpy當然最...

Python基礎 資料科學入門(十)numpy庫

1.1 低效的python for迴圈 例 求100萬個數的倒數 def compute reciprocals values res for value in values 1 value return res values list range 1 10000 timeit compute re...

Python資料科學手冊 Numpy陣列的排序

1 numpy中的快速排序 np.sort 和 np.argsort np.sort 是快速排序,演算法複雜度 o n log n 也可以選擇歸併排序和堆排序 如果不想修改原始輸入陣列,返回乙個排好序的資料,可以使用np.sort 代替原陣列,使用 陣列的sort方法 argsort 返回的是排好序...