Python學習教程:Numpy系列,建立陣列的三大絕招
週一啦,工作使我快樂使我開心,這一期的 Python學習教程 想跟大家講一下Numpy系列,建立陣列的三大絕招,絕招哈,都傳授給你們啦!
建立Numpy陣列的三大絕招
1.使用函式np.array
2.使用便捷的內建函式
3.使用隨機庫函式
Numpy庫的核心物件便是ndarray陣列,又稱n維陣列。要知道,基礎資料的統計、變換等運算都是基於陣列物件的,所以對於ndarray的掌握至關重要。而所謂工欲善其事必先利其器,工具我們暫時是搞明白了,至於怎麼打造出來,這塊得好好講講了。這篇 Python學習教程 的主要目的是幫助同學們更好地瞭解建立Numpy陣列的三大絕招。
1.使用np.array()建立
看過我 Python學習教程 的童鞋們,在“人生苦短,我用Python”的取經之路上,想必都知道list列表,這是Python內建的一種基本資料型別。而ndarray陣列便可透過對list的轉換來進行建立,只要簡單地將Python列表傳遞給陣列函式np.array()即可。
a = np.array([1,2,3])a
array([1, 2, 3])
當然,上例得到的只是一維陣列,想要多維的,請將一系列的列表傳遞給陣列函式,但要保證()內部的資料型別是list,這點很重要。
b = np.array([[1, 2, 3], [4, 5, 6]])b
array([[1, 2, 3],[4, 5, 6]])
就這樣,我們依次建立了一維陣列a與二維陣列b,建立ndarray陣列的第一招是不是很簡單呢,你get到了嗎?
2.使用內建函式便捷建立
在Numpy庫中,np.array()給我們提供了建立陣列的簡單方法,讓我們卯足了盡頭,準備開始揭開Numpy的面紗,大幹一場。但突然,一盆冷水潑身上,關鍵問題來了,如果我們想建立由0到19的數字序列陣列,那是不是得一個數字一個數字地敲,建立0到100的呢?建立多維的呢?不敢想象!!!
其實,Numpy庫很人性化地為我們提供了非常多的內建函式,用於便捷地建立陣列,下面我們來看一看
1.np.arange(),建立遞增序列
#建立一個值範圍為0到19的陣列c = np.arange(20)#arange搭配reshape,建立從0-19的4行5列陣列d = np.arange(20).reshape(4,5)d
array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19]])
注意:這裡要掌握arange()的結構,np.arange(x)為左閉右開結構,資料從0開始,到x-1結束,生成規則遞增序列,同時也可以指定arange的3s引數,start、stop與step。
2.np.ones(shape=,dtype=),建立全為1的陣列矩陣
e = np.ones((3,4))e
array([[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]])
注意:shape為元組格式,dtype可以決定資料型別
3.np.zeros(shape=,dtype=),建立全為0的陣列
f = np.zeros((2,4))
array([[0., 0., 0., 0.], [0., 0., 0., 0.]])
4.np.eye(M),建立對角線為1,其餘為0 的陣列
g = np.eye(3)
array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
5.np.full(shape=,fill_value=),任意填充數字
h = np.full((2,2), 3)
array([[3, 3], [3, 3]])
np.linspace(start,stop,num),線性區間等分,linspace是左閉右閉
#將0-10區間等分4份i = np.linspace(0, 10, num=4)i
array([ 0., 3.333, 6.666, 10.])
以上的6個簡單操作,是不是非常貼心呢,狂敲666有木有,下面豁出去了,再為各位童鞋們們獻上最後一招大絕招!
3.使用隨機庫函式建立
Numpy也提供random模組,來幫助我們去建立隨機性的序列,從此生成一組隨機數就變得so easy,下面我們就來瞧一瞧。
1.np.random.random(size),生成0-1的隨機數,左閉右開,size表示個數,可以是一維、二維或者三維
np.random.random((2,2))
array([[0.31153256 , 0.128392402], [0.023428592, 0.324950205]])
可以看出,生成的資料是集中在0-1的2行2列隨機資料。
2.np.random.randint(low=,hight=,size=),生成整數型別的隨機數,low最小值,hight最大值,size個數
np.random.int(0,10,3)
array([1 , 5 , 7 ])
3.np.random.randn(size),生成標準正態分佈,size個數
程式碼自己挖掘,敲起來試試看
4.np.random.normal(loc,scale,size),生成非標準正態分佈
程式碼自己挖掘,敲起來試試看呀
對於隨機數的建立,姑且掌握這4個技巧,所謂來日方長,後面如果接觸到的未提及的方法,再來詳細聊聊。更多的 Python學習教程 也會繼續為大家更新哦!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69923331/viewspace-2652027/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python列表建立NumPy陣列Python陣列
- 【numpy學習筆記】陣列的建立和基本運算筆記陣列
- Numpy庫(一)- 陣列的建立陣列
- 【Numpy學習08】陣列迭代陣列
- Numpy學習-Task01-資料型別&陣列建立資料型別陣列
- numpy學習筆記 – numpy陣列的常見用法筆記陣列
- NumPy 基礎 (一) - 建立陣列陣列
- NumPy 超詳細教程(1):NumPy 陣列陣列
- Python陣列和列表的區別?Python學習教程Python陣列
- 【numpy學習筆記】陣列的切片,索引,迭代筆記陣列索引
- 【numpy學習筆記】陣列的儲存和下載筆記陣列
- numpy陣列(2)陣列
- Numpy陣列操作陣列
- Python科學計算之Numpy陣列生成與運算Python陣列
- NumPy快餐教程(1) – 如何生成多維陣列陣列
- NumPy快餐教程(2) – 多維陣列進階陣列
- 第二篇 使用 numpy函式建立陣列函式陣列
- numpy——陣列的形狀陣列
- numpy——陣列的計算陣列
- python_numPy學習Python
- NumPy 陣列建立方法與索引訪問詳解陣列索引
- Java學習筆記【1】陣列的宣告和建立Java筆記陣列
- NumPy 陣列屬性陣列
- 陣列的學習陣列
- Python教程系列之Flask框架的學習PythonFlask框架
- 【numpy學習筆記】矩陣操作筆記矩陣
- Python資料分析 | Numpy與1維陣列操作Python陣列
- 物聯網學習教程——一維陣列的引用陣列
- 物聯網學習教程——二維陣列的引用陣列
- Python NumPy學習總結Python
- python——numpy學習筆記Python筆記
- Python中Numpy實現陣列的180度反轉操作Python陣列
- python-資料分析-Numpy-3、陣列的運算Python陣列
- 陣列學習陣列
- NumPy迭代陣列的實現示例陣列
- Python學習之路21-序列構成的陣列Python陣列
- 給numpy陣列賦同樣的值陣列
- Lesson10——NumPy 迭代陣列陣列