導航:首頁 > 編程語言 > python數組轉換list

python數組轉換list

發布時間:2025-04-04 00:48:13

⑴ numpy的應用場景和常用方法

1. np.array 可將序列對象(如列表和元包)轉換為數組,可以生成一維或多維數組,生成多維數組時要對齊。
a = [[1,2,3],[4,5,6]]b = np.array(a)
2. 數組與列表的相互轉換
a = np.ones((2,2))b = a.tolist()# 數組轉列表c = [[1,2,3],[4,5,6]]d = np.array(c)# 列表轉數組e = [1,2,3],[4,5,6]g = np.array(e)#元組轉數組
3. 低精度和高精度一起,會轉換為高精度的
a = np.array((1,2.1,3,4,5,6))b = a.reshape(2,3)print(a.shape, a.dtype)
4. np.arange(n) 生成一維從0到n-1的向量,可以設定范圍和步長,如np.arange(1,10,2)。python 內置的range生成從0到n-1的列表,一般只用於for循環中。
a = np.arange(15)for i in range(15):print(i)
5. np.ones .zeros .empty 裡面需要傳 入一個元組或列表,來指定創建什麼形狀,同時可以指定數據類型dtype。
a = np.ones((2,2), dtype = int)b = np.zeros(10)
6. np.astype 實現數據類型轉換,string類型的數字(如'123')也可以轉換為int。
a = np.array((1,2,3,4))print(a.dtype)b = a.astype(np.float64)print(b.dtype)
7. 大小相等的數組之間的任何運算都會元素級的,特別注意數組之間的乘法是元素級的,要實現矩陣乘法,需要用np.dot。
8. 數組的切片是原始數組的視圖,數據在賦值時不會復制,想要復制數據,需要在切片後加.()
9. 數組切片用方括弧[ ],切片的形式為[start:end:step], 在切片時起點和終點至少要指定一個。不指定的部分,表示一直到索引最開始或者最後。-1 可以表示最後一個元素,:表示復制原列表。索引有幾種形式,如[1,2], [:,3],[:2,3:]注意索引的結尾數要減1,開頭不需要。還有花式索引,a[[1,2,3]] 取對應的行,a[:,[1,2,3]]取對應的列,花式索引會復制數據,注意a[[1,2,3],[1,2,3]] 取的是3個對應位置的數字。進行反向索引時,要在數字前全部加負號,如[-2: -10:-1] 表示取向量的倒數第2個到倒數第10個,步長為2; [-1::-1] 表示從最後一個按照步長為1一直取到第1個。
a = np.arange(30).reshape(6,5)b = a[:2,3:]c = a[[1,5,2]]d = a[:,[3,4,1]]
a = b[b[:,0] == c, :]## 取出某列中所有滿足特定值的所有行,此式子為取出b中第0行里所有值等於c的所有行
a = b[~b[:,0] == c, :] ## 反轉,取出所有不滿足該條件的
10. 數組之間的拼接有兩種方法,hstack,vstack分別對應行拼接和列拼接;concatenate里axis=0對應列軸,=1對應橫軸。hsplit, vsplit以及split(與concatenate對應)實現矩陣的指定份數的均等分。
a = np.ones((1,2))b = np.zeros((3,2))c =np.ones((3,3))d = np.hstack((b,c))e = np.concatenate((b,c),axis = 1)f = np.vstack((a,b))g, h, i = np.hsplit(c, 3)
11.數組中最小最大元素的索引:np.argmin,np.argmax;數組中最小最大的元素:np.max,np.min。
a = np.arange(30).reshape(6,5)b = np.argmax(a)
12. Python內置zip函數,可以將多個可迭代對象中對應的元素打包成一個個元組,然後返回由這些元組組成的列表,當所有對象長度不一致時,以短的為主。
a = np.array((1,2,3))b = np.array((4,5,6))c = zip(a,b)for i, j in zip(a,b):print(i,j)
13.numpy.wher(conditon[, x, y]) 條件邏輯表達式,方括弧內可省去,如果條件為true,則其值取x,否則取y。 如果只有條件,則范圍條件中非0元素的索引。其等效為 value = x if c else y for c, x, y in zip(condition, xarr, yarr)。
xarr = np.array([1.1, 1.2, 1.3, 1.4])yarr = np.array([2.1, 2.2,2.3, 2.4])condi = np.array([True, False, True, False])value = np.wher(condi, xarr, yarr)
14. 基礎數學和統計方法中,sum,mean, std, var(方差), min, max, argmin, argmax (arg系列返回最值的索引), cumsum等可以分別針對數組整體,以及axis = 0 (y軸,向), = 1 (x軸, 橫向)進行數據統計。
a = np.random.randn(5,5)# 正態分布隨機數b = np.argmin(a)c = np.argmin(a, axis = 0)d = a.argmin(axis = 1)
15.對布爾型數組的方法, Python里0與False, 非0元素與True對應,針對布爾型數組的方法有,sum統計true的個數,實質對0與1的求和,any判斷是否有true, all判斷是否全為true。
a = np.array([False, True, False, False])print(a.sum())print(a.any())print(a.all())
16. sort對指定軸進行從小到大的排序, argsort 是間接排序、返回數值從小到大的索引
a = np.random.randn(5,3)b = np.sort(a)# 默認axis=0b2 = np.sort(a, axis = 0)b3 = np.sort(a, axis = 1)
17.唯一化和集合邏輯: unique返回矩陣中唯一值的序列(即所有出現過元素的序列),python內置的set只能針對向量,返迴向量中的唯一值序列,該序列只能作為迭代序列,一般用於for循環等迭代中。intersect1d(x,y) x與y的交集, unio1d(x,y) x與yd的並集, in1d(x,y) x中的元素是否在y集合中, setdiff1d(x,y) 集合差 setxor1d(x,y)異或。
a = np.array(('Bob','Alice','Joe','Will','Bob','Joe'))b = np.unique(a)a2 = np.array((1,2,3,4,2,3,1,5,3,2,6,5,7,6,4))b2 = np.unique(a2)a3 = np.array([[1,2,3],[2,3,4],[1,2,4]])b3 = np.unique(a3)for item in set(a2):print (item)
18.線性代數操作, 主要方法有dot(點乘), diag(返回方陣對角元素), trace(返回方陣的跡), det(行列式),eig(f方陣特徵值和特徵向量), inv(方陣的逆), pinv(廣義逆), qr(QR分解), svd(奇異值分解), slove(解方程AX=B)。
19. 在Anconda中,針對向量和數組的處理是不同的,向量不分行向量和列向量,形式為size a(3, ) 是長度為3的向量;數組為size a(3,1)。在編程時,要注意區分,最好把向量轉為數組。

⑵ python如何將數組轉化成字元串

#數組為list,使用join函數
"".join(list)

閱讀全文

與python數組轉換list相關的資料

熱點內容
弄回城雪球的命令 瀏覽:505
什麼是java動態代理 瀏覽:890
白溝跟淶水源碼 瀏覽:408
c語言rpc框架源碼 瀏覽:521
中公怎麼注銷app賬號 瀏覽:846
linux驅動命令 瀏覽:80
SCM加密幣上交易平台了嗎 瀏覽:672
照片視頻沒有壓縮功能 瀏覽:573
計算機單片機微機實驗箱 瀏覽:234
程序源碼網址 瀏覽:301
單片機的串口特點和編程實驗結論 瀏覽:481
愛心互助聯盟源碼 瀏覽:662
酷比i10怎麼刷純安卓 瀏覽:951
小度裡面的app如何卸載 瀏覽:302
程序員的基本職業 瀏覽:755
夾具設計pdf 瀏覽:418
android獲取視頻文件縮略圖 瀏覽:838
伺服器8c8120g什麼意思 瀏覽:273
單片機讀取字元 瀏覽:288
pdf轉換app 瀏覽:560