欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中numpy的矩陣、多維數(shù)組的用法

 更新時(shí)間:2018年02月05日 10:33:07   作者:xzcfightingup  
本篇文章主要介紹了python中numpy的矩陣、多維數(shù)組的用法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

1. 引言

最近在將一個(gè)算法由matlab轉(zhuǎn)成python,初學(xué)python,很多地方還不熟悉,總體感覺就是上手容易,實(shí)際上很優(yōu)雅地用python還是蠻難的。目前為止,覺得就算法仿真研究而言,還是matlab用得特別舒服,可能是比較熟悉的緣故吧。matlab直接集成了很多算法工具箱,函數(shù)查詢、調(diào)用、變量查詢等非常方便,或許以后用久了python也會(huì)感覺很好用。與python相比,最喜歡的莫過(guò)于可以直接選中某段代碼執(zhí)行了,操作方便,python也可以實(shí)現(xiàn),就是感覺不是很方便。

言歸正傳,做算法要用到很多的向量和矩陣運(yùn)算操作,這些嘛在matlab里面已經(jīng)很熟悉了,但用python的時(shí)候需要用一個(gè)查一個(gè),挺煩的,所以在此稍作總結(jié),后續(xù)使用過(guò)程中會(huì)根據(jù)使用體驗(yàn)更新。

python的矩陣運(yùn)算主要依賴numpy包,scipy包以numpy為基礎(chǔ),大大擴(kuò)展了后者的運(yùn)算能力。

2. 創(chuàng)建一般的多維數(shù)組

import numpy as np

a = np.array([1,2,3], dtype=int) # 創(chuàng)建1*3維數(shù)組 array([1,2,3])

type(a) # numpy.ndarray類型

a.shape # 維數(shù)信息(3L,)

a.dtype.name # 'int32'

a.size # 元素個(gè)數(shù):3

a.itemsize #每個(gè)元素所占用的字節(jié)數(shù)目:4

b=np.array([[1,2,3],[4,5,6]],dtype=int) # 創(chuàng)建2*3維數(shù)組 array([[1,2,3],[4,5,6]])

b.shape # 維數(shù)信息(2L,3L)

b.size # 元素個(gè)數(shù):6

b.itemsize # 每個(gè)元素所占用的字節(jié)數(shù)目:4


c=np.array([[1,2,3],[4,5,6]],dtype='int16') # 創(chuàng)建2*3維數(shù)組 array([[1,2,3],[4,5,6]],dtype=int16)

c.shape # 維數(shù)信息(2L,3L)

c.size # 元素個(gè)數(shù):6

c.itemsize # 每個(gè)元素所占用的字節(jié)數(shù)目:2

c.ndim # 維數(shù)

 
d=np.array([[1,2,3],[4,5,6]],dtype=complex) # 復(fù)數(shù)二維數(shù)組

d.itemsize # 每個(gè)元素所占用的字節(jié)數(shù)目:16

d.dtype.name # 元素類型:'complex128'

3. 創(chuàng)建特殊類型的多維數(shù)組 

a1 = np.zeros((3,4)) # 創(chuàng)建3*4全零二維數(shù)組

輸出:

array([[ 0., 0., 0., 0.],

  [ 0., 0., 0., 0.],

  [ 0., 0., 0., 0.]])

a1.dtype.name # 元素類型:'float64'

a1.size # 元素個(gè)數(shù):12

a1.itemsize # 每個(gè)元素所占用的字節(jié)個(gè)數(shù):8

 

 

a2 = np.ones((2,3,4), dtype=np.int16) # 創(chuàng)建2*3*4全1三維數(shù)組

a2 = np.ones((2,3,4), dtype='int16')  # 創(chuàng)建2*3*4全1三維數(shù)組

輸出:

array([[[1, 1, 1, 1],

  [1, 1, 1, 1],

  [1, 1, 1, 1]],

 

  [[1, 1, 1, 1],

  [1, 1, 1, 1],

  [1, 1, 1, 1]]], dtype=int16)

 

 

a3 = np.empty((2,3)) # 創(chuàng)建2*3的未初始化二維數(shù)組

輸出:(may vary)

array([[ 1., 2., 3.],

  [ 4., 5., 6.]])



a4 = np.arange(10,30,5) # 初始值10,結(jié)束值:30(不包含),步長(zhǎng):5

輸出:array([10, 15, 20, 25])

a5 = np.arange(0,2,0.3) # 初始值0,結(jié)束值:2(不包含),步長(zhǎng):0.2

輸出:array([ 0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8])


from numpy import pi

np.linspace(0, 2, 9) # 初始值0,結(jié)束值:2(包含),元素個(gè)數(shù):9

輸出:

array([ 0. , 0.25, 0.5 , 0.75, 1. , 1.25, 1.5 , 1.75, 2. ])

x = np.linspace(0, 2*pi, 9)

輸出:

array([ 0.  , 0.78539816, 1.57079633, 2.35619449, 3.14159265,

  3.92699082, 4.71238898, 5.49778714, 6.28318531])

a = np.arange(6)

輸出:

array([0, 1, 2, 3, 4, 5])

b = np.arange(12).reshape(4,3)

輸出:

array([[ 0, 1, 2],

  [ 3, 4, 5],

  [ 6, 7, 8],

  [ 9, 10, 11]])

c = np.arange(24).reshape(2,3,4)

輸出:

array([[[ 0, 1, 2, 3],

  [ 4, 5, 6, 7],

  [ 8, 9, 10, 11]],

  [[12, 13, 14, 15],

  [16, 17, 18, 19],

  [20, 21, 22, 23]]])  

使用numpy.set_printoptions可以設(shè)置numpy變量的打印格式

在ipython環(huán)境下,使用help(numpy.set_printoptions)查詢使用幫助和示例

4. 多維數(shù)組的基本操作

加法和減法操作要求操作雙方的維數(shù)信息一致,均為M*N為數(shù)組方可正確執(zhí)行操作。

a = np.arange(4)

輸出:

array([0, 1, 2, 3])

b = a**2

輸出:

array([0, 1, 4, 9])

c = 10*np.sin(a)

輸出:

 array([ 0.  , 8.41470985, 9.09297427, 1.41120008])

 

 

n < 35

輸出:

array([ True, True, True, True], dtype=bool)

 

A = np.array([[1,1],[0,1]])

B = np.array([[2,0],[3,4]])

C = A * B # 元素點(diǎn)乘

輸出:

array([[2, 0],

  [0, 4]])

D = A.dot(B) # 矩陣乘法

輸出:

array([[5, 4],

  [3, 4]])

E = np.dot(A,B) # 矩陣乘法

輸出:

array([[5, 4],

  [3, 4]])

多維數(shù)組操作過(guò)程中的類型轉(zhuǎn)換

When operating with arrays of different types, the type of the resulting array corresponds to the more general or precise one (a behavior known as upcasting)

即操作不同類型的多維數(shù)組時(shí),結(jié)果自動(dòng)轉(zhuǎn)換為精度更高類型的數(shù)組,即upcasting

a = np.ones((2,3),dtype=int)  # int32

b = np.random.random((2,3))  # float64

b += a # 正確 

a += b # 錯(cuò)誤 
a = np.ones(3,dtype=np.int32)

b = np.linspace(0,pi,3)

c = a + b

d = np.exp(c*1j)

輸出:

array([ 0.54030231+0.84147098j, -0.84147098+0.54030231j,

  -0.54030231-0.84147098j])

d.dtype.name

輸出:

 'complex128' 

多維數(shù)組的一元操作,如求和、求最小值、最大值等

a = np.random.random((2,3))

a.sum()

a.min()

a.max()

 

 

b = np.arange(12).reshape(3,4)

輸出:

array([[ 0, 1, 2, 3],

  [ 4, 5, 6, 7],

  [ 8, 9, 10, 11]])

b.sum(axis=0) # 按列求和

輸出:

array([12, 15, 18, 21])

b.sum(axis=1) # 按行求和

輸出:

array([ 6, 22, 38])

b.cumsum(axis=0) # 按列進(jìn)行元素累加

輸出:

array([[ 0, 1, 2, 3],

  [ 4, 6, 8, 10],

  [12, 15, 18, 21]])

b.cumsum(axis=1) # 按行進(jìn)行元素累加

輸出:

array([[ 0, 1, 3, 6],

  [ 4, 9, 15, 22],

  [ 8, 17, 27, 38]]) 


universal functions


B = np.arange(3)

np.exp(B)

np.sqrt(B)

C = np.array([2.,-1.,4.])

np.add(B,C) 

其他的ufunc函數(shù)包括:

all, any, apply_along_axis, argmax, argmin, argsort, average, bincount, ceil, clip, conj, corrcoef, cov, cross, cumprod, cumsum, diff, dot, floor,inner, lexsort, max, maximum, mean, median, min, minimum, nonzero, outer, prod, re, round, sort, std, sum, trace, transpose, var,vdot, vectorize, where

5. 數(shù)組索引、切片和迭代

a = np.arange(10)**3

a[2]

a[2:5]

a[::-1] # 逆序輸出

for i in a:

 print (i**(1/3.)) 

def f(x,y):

 return 10*x+y

b = np.fromfunction(f,(5,4),dtype=int)

b[2,3]

b[0:5,1]

b[:,1]

b[1:3,:]

b[-1] 
c = np.array([[[0,1,2],[10,11,12]],[[100,101,102],[110,111,112]]])

輸出:

array([[[ 0, 1, 2],

  [ 10, 11, 12]],

 

  [[100, 101, 102],

  [110, 111, 112]]])

c.shape

輸出:

(2L, 2L, 3L)

c[0,...]

c[0,:,:]

輸出:

array([[ 0, 1, 2],

  [10, 11, 12]])

c[:,:,2]

c[...,2]

輸出:

array([[ 2, 12],

  [102, 112]])

 

for row in c:

 print(row)

 

for element in c.flat:

 print(element) 

a = np.floor(10*np.random.random((3,4)))

輸出:

array([[ 3., 9., 8., 4.],

  [ 2., 1., 4., 6.],

  [ 0., 6., 0., 2.]])

a.ravel()

輸出:

array([ 3., 9., 8., ..., 6., 0., 2.])

a.reshape(6,2)

輸出:

array([[ 3., 9.],

  [ 8., 4.],

  [ 2., 1.],

  [ 4., 6.],

  [ 0., 6.],

  [ 0., 2.]])

a.T

輸出:

array([[ 3., 2., 0.],

  [ 9., 1., 6.],

  [ 8., 4., 0.],

  [ 4., 6., 2.]])

a.T.shape

輸出:

(4L, 3L)

a.resize((2,6))

輸出:

array([[ 3., 9., 8., 4., 2., 1.],

  [ 4., 6., 0., 6., 0., 2.]])

a.shape

輸出:

(2L, 6L)

a.reshape(3,-1)

輸出:

array([[ 3., 9., 8., 4.],

  [ 2., 1., 4., 6.],

  [ 0., 6., 0., 2.]]) 

詳查以下函數(shù):

ndarray.shape, reshape, resize, ravel

6. 組合不同的多維數(shù)組

a = np.floor(10*np.random.random((2,2)))

輸出:

array([[ 5., 2.],

  [ 6., 2.]])

b = np.floor(10*np.random.random((2,2)))

輸出:

array([[ 0., 2.],

  [ 4., 1.]])

np.vstack((a,b))

輸出:

array([[ 5., 2.],

  [ 6., 2.],

  [ 0., 2.],

  [ 4., 1.]])

np.hstack((a,b))

輸出:

array([[ 5., 2., 0., 2.],

  [ 6., 2., 4., 1.]])

 

 

from numpy import newaxis

np.column_stack((a,b))

輸出:

array([[ 5., 2., 0., 2.],

  [ 6., 2., 4., 1.]])

 

 

a = np.array([4.,2.])

b = np.array([2.,8.])

a[:,newaxis]

輸出:

array([[ 4.],

  [ 2.]])

b[:,newaxis]

輸出:

array([[ 2.],

  [ 8.]])

np.column_stack((a[:,newaxis],b[:,newaxis]))

輸出:

array([[ 4., 2.],

  [ 2., 8.]])

np.vstack((a[:,newaxis],b[:,newaxis]))

輸出:

array([[ 4.],

  [ 2.],

  [ 2.],

  [ 8.]])

np.r_[1:4,0,4]

輸出:

array([1, 2, 3, 0, 4])

np.c_[np.array([[1,2,3]]),0,0,0,np.array([[4,5,6]])]

輸出:

array([[1, 2, 3, 0, 0, 0, 4, 5, 6]]) 

詳細(xì)使用請(qǐng)查詢以下函數(shù):

hstack, vstack, column_stack, concatenate, c_, r_

7. 將較大的多維數(shù)組分割成較小的多維數(shù)組

a = np.floor(10*np.random.random((2,12)))

輸出:

array([[ 9., 7., 9., ..., 3., 2., 4.],

  [ 5., 3., 3., ..., 9., 7., 7.]])

np.hsplit(a,3)

輸出:

[array([[ 9., 7., 9., 6.],

  [ 5., 3., 3., 1.]]), array([[ 7., 2., 1., 6.],

  [ 7., 5., 0., 2.]]), array([[ 9., 3., 2., 4.],

  [ 3., 9., 7., 7.]])]

np.hsplit(a,(3,4))

輸出:

[array([[ 9., 7., 9.],

  [ 5., 3., 3.]]), array([[ 6.],

  [ 1.]]), array([[ 7., 2., 1., ..., 3., 2., 4.],

  [ 7., 5., 0., ..., 9., 7., 7.]])] 

實(shí)現(xiàn)類似功能的函數(shù)包括:

hsplit,vsplit,array_split

8.  多維數(shù)組的復(fù)制操作

a = np.arange(12)

輸出:

array([ 0, 1, 2, ..., 9, 10, 11])

 

not copy at all

 

b = a

b is a # True

b.shape = 3,4

a.shape # (3L,4L)

 

def f(x) # Python passes mutable objects as references, so function calls make no copy.

 print(id(x)) # id是python對(duì)象的唯一標(biāo)識(shí)符

 

id(a) # 111833936L

id(b) # 111833936L

f(a)  # 111833936L

 

 

淺復(fù)制
c = a.view()

c is a # False

c.base is a # True

c.flags.owndata # False

c.shape = 2,6

a.shape # (3L,4L)

c[0,4] = 1234

print(a)

輸出:

array([[ 0, 1, 2, 3],

  [1234, 5, 6, 7],

  [ 8, 9, 10, 11]])

s = a[:,1:3]

s[:] = 10

print(a)

輸出:

array([[ 0, 10, 10, 3],

  [1234, 10, 10, 7],

  [ 8, 10, 10, 11]])

 

 

深復(fù)制
d = a.copy()

d is a # False

d.base is a # False

d[0,0] = 9999

print(a)

輸出:

array([[ 0, 10, 10, 3],

  [1234, 10, 10, 7],

  [ 8, 10, 10, 11]]) 

numpy基本函數(shù)和方法一覽

arangearraycopyemptyempty_likeeyefromfilefromfunctionidentitylinspacelogspacemgridogridonesones_likerzeros,zeros_like

Conversions

ndarray.astypeatleast_1datleast_2datleast_3dmat

Manipulations

array_splitcolumn_stackconcatenatediagonaldsplitdstackhsplithstackndarray.itemnewaxisravelrepeatreshaperesize,squeezeswapaxestaketransposevsplitvstack

Questionsallanynonzerowhere

Ordering

argmaxargminargsortmaxminptpsearchsortedsort

Operations

choosecompresscumprodcumsuminnerndarray.fillimagprodputputmaskrealsum

Basic Statistics

covmeanstdvar

Basic Linear Algebra

crossdotouterlinalg.svdvdot

完整的函數(shù)和方法一覽表鏈接:

https://docs.scipy.org/doc/numpy-dev/reference/routines.html#routines

9. 特殊的索引技巧

a = np.arange(12)**2
輸出:
array([ 0, 1, 4, ..., 81, 100, 121])
i = np.array([1,1,3,8,5])
a[i]
輸出:
array([ 1, 1, 9, 64, 25])

j = np.array([[3,4],[9,7]])
a[j]
輸出:
array([[ 9, 16],
  [81, 49]])


palette = np.array([[0,0,0],[255,0,0],[0,255,0],[0,0,255],[255,255,255]])
image = np.array([[0,1,2,0],[0,3,4,0]])
palette[image]
輸出:
array([[[ 0, 0, 0],
  [255, 0, 0],
  [ 0, 255, 0],
  [ 0, 0, 0]],

  [[ 0, 0, 0],
  [ 0, 0, 255],
  [255, 255, 255],
  [ 0, 0, 0]]])


i = np.array([[0,1],[1,2]])
j = np.array([[2,1],[3,3]])
a[i,j]
輸出:
array([[ 2, 5],
  [ 7, 11]])
l = [i,j]
a[l]
輸出:
array([[ 2, 5],
  [ 7, 11]])


a[i,2]
輸出:
array([[ 2, 6],
  [ 6, 10]])

a[:,j]
輸出:
array([[[ 2, 1],
  [ 3, 3]],

  [[ 6, 5],
  [ 7, 7]],

  [[10, 9],
  [11, 11]]])

s = np.array([i,j])
print(s)
array([[[0, 1],
  [1, 2]],

  [[2, 1],
  [3, 3]]])

a[tuple(s)]
輸出:
array([[ 2, 5],
  [ 7, 11]])
print(tupe(s))
輸出:
(array([[0, 1],
  [1, 2]]), array([[2, 1],
  [3, 3]]))

10. 尋找最大值/最小值及其對(duì)應(yīng)索引值

time = np.linspace(20, 145, 5)
輸出:
 array([ 20. , 51.25, 82.5 , 113.75, 145. ])

data = np.sin(np.arange(20)).reshape(5,4)
輸出:
array([[ 0.  , 0.84147098, 0.90929743, 0.14112001],
  [-0.7568025 , -0.95892427, -0.2794155 , 0.6569866 ],
  [ 0.98935825, 0.41211849, -0.54402111, -0.99999021],
  [-0.53657292, 0.42016704, 0.99060736, 0.65028784],
  [-0.28790332, -0.96139749, -0.75098725, 0.14987721]])

ind = data.argmax(axis=0)
輸出:
array([2, 0, 3, 1], dtype=int64)

time_max = time[ind]
輸出:
array([ 82.5 , 20. , 113.75, 51.25])

data_max = data[ind, xrange(data.shape[1])]
輸出:
array([ 0.98935825, 0.84147098, 0.99060736, 0.6569866 ])

np.all(data_max == data.max(axis=0))
輸出:
True

 

a = np.arange(5)
a[[1,3,4]] = 0
print(a)
輸出:
array([0, 0, 2, 0, 0])
a = np.arange(5)
a[[0,0,2]] = [1,2,3]
print(a)
輸出:
array([2, 1, 3, 3, 4])


a = np.arange(5)
a[[0,0,2]] += 1
print(a)
輸出:
array([1, 1, 3, 3, 4])
a = np.arange(12).reshape(3,4)
 b = a > 4
輸出:
array([[False, False, False, False],
  [False, True, True, True],
  [ True, True, True, True]], dtype=bool)

a[b]
輸出:
array([ 5, 6, 7, 8, 9, 10, 11])

a[b] = 0
print(a)
輸出:
array([[0, 1, 2, 3],
  [4, 0, 0, 0],
  [0, 0, 0, 0]])
a = np.arange(12).reshape(3,4)
b1 = np.array([False,True,True])
b2 = n.array([True,False,True,False])
a[b1,:]
輸出:
array([[ 4, 5, 6, 7],
  [ 8, 9, 10, 11]])

a[b1]
輸出:
array([[ 4, 5, 6, 7],
  [ 8, 9, 10, 11]])

a[:,b2]
輸出:
array([[ 0, 2],
  [ 4, 6],
  [ 8, 10]])

a[b1,b2]
輸出:
array([ 4, 10])

11. ix_() function

a = np.array([2,3,4,5])
b = np.array([8,5,4])
c = np.array([5,4,6,8,3])
ax,bx,cx = np.ix_(a,b,c)
print(ax) # (4L, 1L, 1L)
輸出:
array([[[2]],

  [[3]],

  [[4]],

  [[5]]])
print(bx) # (1L, 3L, 1L)
輸出:
array([[[8],
  [5],
  [4]]])
print(cx) # (1L, 1L, 5L)
輸出:
array([[[5, 4, 6, 8, 3]]])


result = ax + bx*cx
輸出:
array([[[42, 34, 50, 66, 26],
  [27, 22, 32, 42, 17],
  [22, 18, 26, 34, 14]],

  [[43, 35, 51, 67, 27],
  [28, 23, 33, 43, 18],
  [23, 19, 27, 35, 15]],

  [[44, 36, 52, 68, 28],
  [29, 24, 34, 44, 19],
  [24, 20, 28, 36, 16]],

  [[45, 37, 53, 69, 29],
  [30, 25, 35, 45, 20],
  [25, 21, 29, 37, 17]]])

result[3,2,4]
輸出:17

12. 線性代數(shù)運(yùn)算

a = np.array([[1.,2.],[3.,4.]])
a.transpose() # 轉(zhuǎn)置
np.linalg.inv(a) # 求逆
u = np.eye(2) # 產(chǎn)生單位矩陣
np.dot(a,a) # 矩陣乘積
np.trace(a) # 求矩陣的跡
y = np.array([5.],[7.]])
np.linalg.solve(a,y) # 求解線性方程組
np.linalg.eig(a) # 特征分解

“Automatic” Reshaping

a = np.arange(30)
a.shape = 2,-1,3
a.shape # (2L, 5L, 3L)
print(a)
array([[[ 0, 1, 2],
  [ 3, 4, 5],
  [ 6, 7, 8],
  [ 9, 10, 11],
  [12, 13, 14]],

  [[15, 16, 17],
  [18, 19, 20],
  [21, 22, 23],
  [24, 25, 26],
  [27, 28, 29]]])
x = np.arange(0,10,2)
y = np.arange(5)
m = np.vstack([x,y])
輸出:
array([[0, 2, 4, 6, 8],
  [0, 1, 2, 3, 4]])
n = np.hstack([x,y])
輸出:
array([0, 2, 4, 6, 8, 0, 1, 2, 3, 4])

13. 矩陣的創(chuàng)建

a = np.array([1,2,3])
a1 = np.mat(a)
輸出:
matrix([[1, 2, 3]])
type(a1)
輸出:
numpy.matrixlib.defmatrix.matrix
a1.shape
輸出:
(1L, 3L)
a.shape
輸出:
(3L,)

b=np.matrix([1,2,3])
輸出:
matrix([[1, 2, 3]])

from numpy import *
data1 = mat(zeros((3,3)))
data2 = mat(ones((2,4)))
data3 = mat(random.rand(2,2))
data4 = mat(random.randint(2,8,size=(2,5)))
data5 = mat(eye(2,2,dtype=int))

14. 常見的矩陣運(yùn)算

a1 = mat([1,2])
a2 = mat([[1],[2]])
a3 = a1 * a2
print(a3)
輸出:
matrix([[5]])

print(a1*2)
輸出:
matrix([[2, 4]])

a1 = mat(eye(2,2)*0.5)
print(a1.I)
輸出:
matrix([[ 2., 0.],
  [ 0., 2.]])


a1 = mat([[1,2],[2,3],[4,2]])
a1.sum(axis=0)
輸出:
matrix([[7, 7]])
a1.sum(axis=1)
輸出:
matrix([[3],
  [5],
  [6]])
a1.max() # 求矩陣元素最大值
輸出:
4
a1.min() # 求矩陣元素最小值
輸出:
1

np.max(a1,0) # 求矩陣每列元素最大值
輸出:
matrix([[4, 3]])
np.max(a1,1) # 求矩陣每行元素最大值
輸出:
matrix([[2],
  [3],
  [4]])


a = mat(ones((2,2)))
b = mat(eye((2)))
c = hstack((a,b))
輸出:
matrix([[ 1., 1., 1., 0.],
  [ 1., 1., 0., 1.]])
d = vstack((a,b))
輸出:
matrix([[ 1., 1.],
  [ 1., 1.],
  [ 1., 0.],
  [ 0., 1.]])

15. 矩陣、數(shù)組、列表之間的互相轉(zhuǎn)換

aa = [[1,2],[3,4],[5,6]]
bb = array(aa)
cc = mat(bb)

cc.getA() # 矩陣轉(zhuǎn)換為數(shù)組
cc.tolist() # 矩陣轉(zhuǎn)換為列表
bb.tolist() # 數(shù)組轉(zhuǎn)換為列表


# 當(dāng)列表為一維時(shí),情況有點(diǎn)特殊
aa = [1,2,3,4]
bb = array(aa)
輸出:
array([1, 2, 3, 4])
cc = mat(bb)
輸出:
matrix([[1, 2, 3, 4]])

cc.tolist()
輸出:
[[1, 2, 3, 4]]

bb.tolist()
輸出:
[1, 2, 3, 4]

cc.tolist()[0]
輸出:
[1, 2, 3, 4]

內(nèi)容整理參考鏈接如下:

https://docs.scipy.org/doc/numpy-dev/user/quickstart.html

http://python.usyiyi.cn/translate/NumPy_v111/reference/arrays.scalars.html#arrays-scalars-built-in

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python修改MP3文件的方法

    Python修改MP3文件的方法

    這篇文章主要介紹了Python修改MP3文件的方法,可實(shí)現(xiàn)刪除MP3中圖片文件的功能,需要的朋友可以參考下
    2015-06-06
  • python?實(shí)現(xiàn)dcmtk關(guān)聯(lián)pacs功能推送下拉影像(推薦)

    python?實(shí)現(xiàn)dcmtk關(guān)聯(lián)pacs功能推送下拉影像(推薦)

    這篇文章主要介紹了python?實(shí)現(xiàn)dcmtk關(guān)聯(lián)pacs功能?推送下拉影像,包含dcmtk關(guān)聯(lián)pacs技術(shù)筆記等相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • python神經(jīng)網(wǎng)絡(luò)Keras實(shí)現(xiàn)LSTM及其參數(shù)量詳解

    python神經(jīng)網(wǎng)絡(luò)Keras實(shí)現(xiàn)LSTM及其參數(shù)量詳解

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Keras實(shí)現(xiàn)LSTM及其參數(shù)量詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python爬蟲基礎(chǔ)之簡(jiǎn)單說(shuō)一下scrapy的框架結(jié)構(gòu)

    Python爬蟲基礎(chǔ)之簡(jiǎn)單說(shuō)一下scrapy的框架結(jié)構(gòu)

    今天給大家?guī)?lái)的是關(guān)于Python爬蟲的相關(guān)知識(shí),文章圍繞著scrapy的框架結(jié)構(gòu)展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • python網(wǎng)絡(luò)爬蟲 CrawlSpider使用詳解

    python網(wǎng)絡(luò)爬蟲 CrawlSpider使用詳解

    這篇文章主要介紹了python網(wǎng)絡(luò)爬蟲 CrawlSpider使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 基于python cut和qcut的用法及區(qū)別詳解

    基于python cut和qcut的用法及區(qū)別詳解

    今天小編就為大家分享一篇基于python cut和qcut的用法及區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • python pandas.DataFrame.loc函數(shù)使用詳解

    python pandas.DataFrame.loc函數(shù)使用詳解

    這篇文章主要介紹了python pandas.DataFrame.loc函數(shù)使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 使用Cython中prange函數(shù)實(shí)現(xiàn)for循環(huán)的并行

    使用Cython中prange函數(shù)實(shí)現(xiàn)for循環(huán)的并行

    Cython中提供了一個(gè)prange函數(shù),專門用于循環(huán)的并行執(zhí)行。這個(gè) prange的特殊功能是Cython獨(dú)一無(wú)二的,并且prange只能與for循環(huán)搭配使用,不能獨(dú)立存在。本文就將使用 prange 實(shí)現(xiàn) for 循環(huán)的并行,感興趣的可以了解一下
    2022-08-08
  • 一文詳解Python加解壓文件gzip庫(kù)的操作

    一文詳解Python加解壓文件gzip庫(kù)的操作

    Gzip是若干種文件壓縮程序的簡(jiǎn)稱,通常指GNU計(jì)劃的實(shí)現(xiàn)。本文為大家介紹了Python中加解壓文件gzip庫(kù)的基本操作,感興趣的小伙伴可以了解一下
    2022-11-11
  • python async with和async for的使用

    python async with和async for的使用

    這篇文章主要介紹了python async with和async for的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06

最新評(píng)論