python練習 numpy操作

2021-09-29 00:20:39 字數 2373 閱讀 7663

a=[1,2,3,4]

a1=np.array([1,2,3,4])

print(a)

print(a1)

[1, 2, 3, 4]

[1 2 3 4]

可以看到numpy的資料更加緊湊

python定義的列表沒有reshape 所以只能對numpy陣列執行該操作

a1=np.array([1,2,3,4,5,6,7,8,9])

a1=a1.reshape(3,3)

print(a1)

[[1 2 3]

[4 5 6]

[7 8 9]]

np.zeros((4,3))
array([[0., 0., 0.],

[0., 0., 0.],

[0., 0., 0.],

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

生成 全0矩陣

np.eye(5)
array([[1., 0., 0., 0., 0.],

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

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

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

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

生成單位矩陣

矩陣乘法

i=np.arange(1,7).reshape(2,3)

d=np.arange(1,10).reshape(3,3)

m=np.dot(i,d)

print(m)

[[30 36 42]

[66 81 96]]

這裡注意dot裡的位置不同 有時候結果不同

元素求和

np.sum(m)
351
按行累加

np.sum(m,axis=1)
array([108, 243])
隨即生成矩陣

ran1=np.random.rand(3,2)

print(ran1)

[[0.38877079 0.71820201]

[0.24064133 0.63863328]

[0.0446918 0.40998173]]

新增

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])
求元素之間的差

b=np.diff(a1,n=1)

print(b)

np.diff(a1,n=2)

[[1 1]

[1 1]

[1 1]]

array([[0],

[0],

[0]])

組成矩陣

按行

b1=np.array([1,2,3])

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

b3=np.array([3,4,5])

np.vstack((b1,b3,b2))

array([[1, 2, 3],

[3, 4, 5],

[2, 3, 4]])

按列

np.column_stack((b2,b1,b3))
array([[2, 1, 3],

[3, 2, 4],

[4, 3, 5]])

矩陣轉置.t跡

np.trace(a1)
15
特徵值與特徵向量

import numpy.linalg as nplg

print(nplg.eig(a1))

(array([ 1.61168440e+01, -1.11684397e+00, -1.30367773e-15]), array([[-0.23197069, -0.78583024,  0.40824829],

[-0.52532209, -0.08675134, -0.81649658],

[-0.8186735 , 0.61232756, 0.40824829]]))

a為n階矩陣,若數λ和n維非0列向量x滿足ax=λx,那麼數λ稱為a的特徵值,x稱為a的對應於特徵值λ的特徵向量。 式ax=λx也可寫成( a-λe)x=0,並且|λe-a|叫做a 的特徵多項式。

基於Python的Numpy基礎操作練習2

剛學了numpy的基礎操作,來練習一番 題目 建立 22 的陣列arr1 元素自定義 建立 223 的陣列arr2 元素自定義 檢視arr2的維度以及形狀 將arr2轉為1維 將arr1進行轉置 生成 44 全為1的陣列 arr3 生成 單位矩陣 如下 import numpy as np 匯入nu...

Python之Numpy常用操作

1.陣列初始化 生成特定陣列 print np.array 2 3 dtype np.int16 shape 2 print np.zeros 2 3 shape 2,3 print np.empty 2 3 shape 2,3 print np.random.random 2 3 shape 2,...

numpy練習 未完

問題 匯入模組numpy並以np作為別名,列印版本號 import numpy as np print np.version 建立乙個含有從0到9數字的一維陣列 import numpy as np arr np.arrange 10 建立乙個3 3的所有值為true的numpy陣列 import ...