python numpy 學習筆記 10

2021-08-07 12:10:59 字數 1866 閱讀 5458

1.矩陣的相關操作

求逆,求解線性方程組,求解特徵值,求解特徵向量,奇異值分解

# -*- coding:utf-8 -*-

from numpy import *

a = mat("0 1 2; 1 0 3; 4 -3 8")

inverse = linalg.inv(a)

print inverse

print a.i

print a * inverse

# 求解逆矩陣的兩種方式

det = linalg.det(a)

print det

# 求解矩陣的行列式

b = mat("1 -2 1;0 2 -8;-4 5 9")

b = array([0, 8, -9])

x = linalg.solve(b, b)

print "solve:", x

# 求解線性方程組

print "check:", dot(b, x)

# 點積檢查

c = mat("-3 2; 1 0")

print "eigenvalues", linalg.eigvals(c)

# 獲得特徵值

eigenvalues, eigenvectors = linalg.eig(c)

print eigenvalues, eigenvectors

# 獲得特徵值和特徵向量 '''

d = mat("4 11 14;8 7 -2")

u, sigma, v = linalg.svd(d, full_matrices=false)

# u v 是正交矩陣

# sigma是奇異值矩陣的對角元素

sigma = diag(sigma)

# 使用diag函式,得到對應陣列的對角矩陣

print u * sigma * v

pseudoinv = linalg.pinv(d)

print pseudoinv

# 廣義逆矩陣(非方陣的逆矩陣)

# -*- coding: utf-8 -*-

from numpy import *

random.seed(42)

complex_numbers = random.random(5) + 1j * random.random(5)

# 使用隨機數種子生成複數

print "complex numbers\n", complex_numbers

print "sorted\n", sort_complex(complex_numbers)

# 使用sort_complex對於陣列排序,先實部後虛部的順序

a = array([3, 5, 1, 8, 0, 2, 4, 7, 9, 6])

print argmax(a) # 最大項的下標

print argmin(a) # 最小項的下標

print argsort(a) # 按照下標排序

print argwhere(a <= 4) # 小於4的陣列元素的下標

a = sort(a) # 將陣列排序

indise = searchsorted(a, [-2, 8, 18]) # 找到插入合適的下標

a = insert(a, indise, [-2, 8, 18]) # 在合適下標處插入

print a

condition = (a % 2) == 0

# 設定條件

print extract(condition, a)

# 抽取符合條件的元素

python numpy學習筆記

前言 關於學習python,這幾年斷斷續續,學了停,停了學。我查過一些帖子,有人說直接做專案,在專案中學習 有人說打好基礎。我的性格可能是為了工作而工作,做專案可能會只對結果關心,當能出結果時,我便不會探索其中的知識點。所以,我準備從基礎開始,利用官網進行理論的學習,這篇文章是為了對python基礎...

python numpy學習筆記

encoding utf 8 import numpy as np from numpy.linalg import def main 多行注釋就乙個組合鍵 選中,ctrl lesson1 ndarray lst 1,3,5 2,4,6 print type lst np list np.array...

python numpy學習筆記

import numpy as np np.ndim 陣列的維數 np.shape 陣列的形狀 np.size 陣列的元素個數 np.dtype 陣列的元素型別 1 np.array你可以使用np.array直接用python的元組和列表來建立,如果傳遞的是多層巢狀的序列,將建立多維陣列。為了建立列...