資料大清洗 矩陣的建立與運算

2021-10-07 04:36:00 字數 3122 閱讀 7780

使用 np.mat、np.asmatrix 建立矩陣

使用 np.bmat 來組合矩陣 常用

import numpy as np

# 生成矩陣

# 可以使用np.mat np.asmatrix來建立矩陣

#np.mat = np.asmatrix 一樣的

#np.mat 將特殊字串轉化為矩陣

# m1 = np.mat('1 2 3;4 5 6;7 8 9')

# print(m1)

# print(type(m1)) #

# print(m1.ndim) # 2維 ---只能是2維

# print(m1.shape) # (3,3)

# print(m1.itemsize)

# print(m1.dtype)

# print(m1.size)

# print("********************")

# # 也可以將列表巢狀轉化為矩陣

# m1 = np.asmatrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# print(m1)

# print(type(m1)) # ##

# # 也可以將二維陣列轉化為矩陣

## # 建立乙個二維陣列

# arr = np.arange(9).reshape((3, 3))

## m1 = np.mat(arr)

## print(m1)

# print(type(m1)) #

# 可以使用np.bmat來組合矩陣

arr1 = np.array([[

1,2]

,[1,

2]])

arr2 = np.arange(4)

.reshape((2

,2))

print

('arr1:\n'

, arr1)

print

('arr2:\n'

, arr2)

print

('*'

*100

)# 利用np.bmat將陣列組合成矩陣

# res = np.bmat('arr1 arr2;arr2 arr1')

# res = np.bmat([[arr1, arr2], [arr2, arr1]]) # 列表物件

# print(res)

# print(type(res)) #

# 可以使用np.bmat 可以將 二維陣列轉化為矩陣

res = np.bmat(arr1)

# res = np.bmat('1 2 3;4 5 6;7 8 9') # 錯誤的

# res = np.bmat([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 錯誤的

print

(res)

print

(type

(res)

)#

import numpy as np

# 建立矩陣進行運算

m1 = np.mat(

'1 2;3 4'

)# ---(2,2)

m2 = np.asmatrix([[

2,1]

,[1,

2]])

# ----(2,2)

print

('m1:\n'

, m1)

print

('m2:\n'

, m2)

print

('*'

*100

)# 矩陣相加 ---同型矩陣 ---對應位置相加

print

('m1 + m2 :\n'

, m1 + m2)

# 矩陣相減---矩陣加上後面的矩陣的負矩陣 ---對應位置相減

print

('m1 - m2 :\n'

, m1 - m2)

# 矩陣與 數的相乘 ----每乙個元素都與數進行相乘

# 3 和 m1 進行相乘

# print('3 * m1 :\n', 3 * m1)

# # 矩陣 與矩陣 相乘

# # 規則:如果兩個矩陣進行相乘,左矩陣的列 必須等於右矩陣的行,才能相乘

# # 生成乙個左矩陣行、右矩陣列的矩陣

# print('m1 * m2:\n', m1 * m2)

# # np.matmul

# print('m1 * m2 :\n', np.matmul(m1, m2))

# # np.dot

# print('m1 * m2 :\n', np.dot(m1, m2))

# 矩陣對應位置元素相乘 ---同型矩陣

# print('m1、m2對應位置元素相乘:\n', np.multiply(m1, m2))

# 矩陣性質

# 矩陣轉置

# print('m1 的轉置:\n',m1.t)

# 矩陣的逆

# print('m1 的逆矩陣:\n', m1.i)

# # 逆矩陣性質---a*a的逆 = e ----> |a| = 0 --->直接報錯,或者出現inf

# print('m1 * m1 的逆矩陣:\n', m1 * m1.i)

# 矩陣的檢視

# 可以通過np.mat np.asmatrix將ndarray轉化為矩陣

# 可以通過矩陣.a 來獲取 ndarray

# print('m1 的檢視:\n', m1.a)

# print('m1 檢視的型別:\n', type(m1.a)) #

# 索引---對於ndarray,使用下標會降低維度

# 對於矩陣 --使用下標 不降低維度

# print('獲取m1的元素', m1[0, :])

# 矩陣的共軛轉置

# 先共軛,再轉置 ---複數

# print('m1的共軛轉置:\n',m1.h)

矩陣特有屬性:

C 版本 大整數bign的建立與運算

include include using namespace std struct bign len 0 memset d,0,sizeof d bign string num bign void showarr const cout endl void show const cout endl ...

乾淨的資料《資料清洗入門與實戰》

1.資料科學過程 1 問題陳述。識別出你要解決的問題是什麼。2 資料收集與儲存。資料從何而來?它們在 存放?格式又是什麼?3 資料清洗。資料需要修改嗎?有什麼需要刪除嗎?資料應該怎麼調整才能適用於接下來的分析和挖掘。4 資料分析和機器學習。資料需要哪些處理?需要怎樣的轉換?使用什麼樣的演算法?運用什...

OpenCV 矩陣的建立與釋放

矩陣有多種建立方法。最常見的方法是用cvcreatemat 它由多個原函式組成,如cvcreatematheader 和cvcreatedata cvcreatematheader 函式建立cvmat結構,不為資料分配記憶體,而cvcreatedata 函式只負責資料的記憶體分配。第三中方法是用函式...