机器学习 —— python库 —— 使用array创建
生活随笔
收集整理的這篇文章主要介紹了
机器学习 —— python库 —— 使用array创建
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python庫
Pip
安裝python包的推薦工具
Numpy
為python提供快速的多維數組處理能力
Scipy
在Numpy基礎上添加了眾多科學計算工具包
Matplotlib
python豐富的繪圖庫
數據生成示例
import numpy as npa=np.arange(0,60,10).reshape((-1,1))+np.arange(6) print(a) [[ 0 1 2 3 4 5][10 11 12 13 14 15][20 21 22 23 24 25][30 31 32 33 34 35][40 41 42 43 44 45][50 51 52 53 54 55]]代碼解釋
arange(0,60,10)arange給定一個從0開始到60結束以10作為間距的范圍
[0,10,20,30,40,50] reshape((-1,1)自動匹配行數之后轉置為列
[[0,] [10,] [20,] [30,] [40,] [50]] arange(6)沒有給起點值,默認為0
[0,1,2,3,4,5]相加之后
[[ 0 1 2 3 4 5][10 11 12 13 14 15][20 21 22 23 24 25][30 31 32 33 34 35][40 41 42 43 44 45][50 51 52 53 54 55]]代碼演示
1.使用array創建
通過array函數傳遞list對象
L = [1, 2, 3, 4, 5, 6]print("L = ", L)a = np.array(L)print("a = ", a)print(type(a))L是一個列表類型,如果直接打印L的話會顯示一個列表,通過np.array函數可以將L列表轉換為ndarray形式的行向量。
L = [1, 2, 3, 4, 5, 6] a = [1 2 3 4 5 6] <class 'numpy.ndarray'>若傳遞的是多層嵌套的list,將創建多維數組
b = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])print(b)如果將多個列表傳入np.array函數,將被轉換為二維的矩陣。
[[ 1 2 3 4][ 5 6 7 8][ 9 10 11 12]]數組大小可以通過其shape屬性獲得
print (a.shape)print (b.shape)shape可以返回一個矩陣的大小。
(6,) (3, 4)也可以強制修改shape
b.shape = 4, 3print(b)通過直接對shape賦值可以修改矩陣的大小。
[[ 1 2 3][ 4 5 6][ 7 8 9][10 11 12]]注:從(3,4)改為(4,3)并不是對數組進行轉置,而只是改變每個軸的大小,數組元素在內存中的位置并沒有改變。
b.shape = 2, -1print (b)print (b.shape)當某個軸為-1時,將根據數組元素的個數自動計算此軸的長度。
[[ 1 2 3 4 5 6][ 7 8 9 10 11 12]] (2, 6)reshape方法
c = b.reshape((4, -1))print ("b = \n", b)print ('c = \n', c)reshape可以創建改變了尺寸的新數組,原數組的shape保持不變。
b = [[ 1 2 3 4][ 5 6 7 8][ 9 10 11 12]] c = [[ 1 2 3][ 4 5 6][ 7 8 9][10 11 12]] b[0][1] = 20print ("b = \n", b)print ("c = \n", c)數組b和c共享內存,修改任意一個將影響另外一個。
b = [[ 1 20 3 4][ 5 6 7 8][ 9 10 11 12]] c = [[ 1 20 3][ 4 5 6][ 7 8 9][10 11 12]]數組的元素類型可以通過dtype屬性獲得
print (a.dtype)print (b.dtype) int32 int32可以通過dtype參數在創建時指定元素類型
d = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], dtype=np.float)f = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], dtype=np.complex)print (d)print (f)分別設置為浮點型和復數型。
[[ 1. 2. 3. 4.][ 5. 6. 7. 8.][ 9. 10. 11. 12.]] [[ 1.+0.j 2.+0.j 3.+0.j 4.+0.j][ 5.+0.j 6.+0.j 7.+0.j 8.+0.j][ 9.+0.j 10.+0.j 11.+0.j 12.+0.j]]如果更改元素類型,可以使用astype安全的轉換
f = d.astype(np.int)print (f) [[ 1 2 3 4][ 5 6 7 8][ 9 10 11 12]]但不要強制僅修改元素類型
d.dtype = np.intprint (d)將會以int來解釋單精度float類型。
[[ 0 1072693248 0 1073741824 0 1074266112 0 1074790400][ 0 1075052544 0 1075314688 0 1075576832 0 1075838976][ 0 1075970048 0 1076101120 0 1076232192 0 1076363264]]總結
以上是生活随笔為你收集整理的机器学习 —— python库 —— 使用array创建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《机器学习》 —— 第二章:模型评估与选
- 下一篇: Linux基础 —— 操作系统简介