日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

机器学习中数据处理与可视化的python、numpy等常用函数

發布時間:2025/5/22 python 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习中数据处理与可视化的python、numpy等常用函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面:本文所針對的python版本為python3.0以上!


np.tile()

tile()相當于復制當前行元素或者列元素

import numpy as npm1 = np.array([1, 2, 3, 4]) # 行復制兩次,列復制一次到一個新數組中 print(np.tile(m1, (2, 1))) print("===============") # 行復制一次,列復制兩次到一個新數組中 print(np.tile(m1, (1, 2))) print("===============") # 行復制兩次,列復制兩次到一個新數組中 print(np.tile(m1, (2, 2)))

輸出:

D:\Python\python.exe E:/ML_Code/test_code.py [[1 2 3 4][1 2 3 4]] =============== [[1 2 3 4 1 2 3 4]] =============== [[1 2 3 4 1 2 3 4][1 2 3 4 1 2 3 4]]

sum()

sum函數是對元素進行求和,對于二維數組以上則可以根據參數axis進行分別對行和列進行求和,axis=0代表按列求和,axis=1代表行求和。

import numpy as npm1 = np.array([1, 2, 3, 4]) # 元素逐個求和 print(sum(m1))m2 = np.array([[6, 2, 2, 4], [1, 2, 4, 7]]) # 按列相加 print(m2.sum(axis=0)) # 按行相加 print(m2.sum(axis=1))

輸出:

D:\Python\python.exe E:/ML_Code/test_code.py 10 [ 7 4 6 11] [14 14]Process finished with exit code 0

shape和reshape

import numpy as npa = np.array([[1, 2, 3], [4, 5, 6]]) print(a.shape)b = np.reshape(a, 6) print(b)# -1是根據數組大小進行維度的自動推斷 c = np.reshape(a, (3, -1)) # 為指定的值將被推斷出為2 print(c)

輸出:

D:\python-3.5.2\python.exe E:/ML_Code/test_code.py(2, 3)---[1 2 3 4 5 6]---[[1 2][3 4][5 6]]

numpy.random.rand

import numpy as np# 創建一個給定類型的數組,將其填充在一個均勻分布的隨機樣本[0, 1)中print(np.random.rand(3))print(np.random.rand(2, 2))

輸出:

D:\python-3.5.2\python.exe E:/ML_Code/test_code.py[ 0.03568079 0.68235136 0.64664722]---[[ 0.43591417 0.66372315][ 0.86257381 0.63238434]]

zip()

zip() 函數用于將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。 如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表。

import numpy as npa1 = np.array([1, 2, 3, 4]) a2 = np.array([11, 22, 33, 44])z = zip(a1, a2)print(list(z))

輸出:

D:\Python\python.exe E:/ML_Code/test_code.py [(1, 11), (2, 22), (3, 33), (4, 44)]Process finished with exit code 0

注意點:在python 3以后的版本中zip()是可迭代對象,使用時必須將其包含在一個list中,方便一次性顯示出所有結果。否則會報如下錯誤:

<zip object at 0x01FB2E90>

矩陣相關

import numpy as np# 生成隨機矩陣 myRand = np.random.rand(3, 4) print(myRand)# 生成單位矩陣 myEye = np.eye(3) print(myEye)from numpy import *# 矩陣所有元素求和 myMatrix = mat([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(sum(myMatrix))# 計算矩陣的秩 print(linalg.det(myMatrix))# 計算矩陣的逆 print(linalg.inv(myMatrix))

注意:

from numpy import * import numpy as npvector1 = mat([[1, 2], [1, 1]]) vector2 = mat([[1, 2], [1, 1]]) vector3 = np.array([[1, 2], [1, 1]]) vector4 = np.array([[1, 2], [1, 1]])# Python自帶的mat矩陣的運算規則是兩者都按照矩陣乘法的規則來運算 print(vector1 * vector2)# Python自帶的mat矩陣的運算規則是兩者都按照矩陣乘法的規則來運算 print(dot(vector1, vector2))# numpy乘法運算中"*"是數組元素逐個計算 print(vector3 * vector4)# numpy乘法運算中dot是按照矩陣乘法的規則來運算 print(dot(vector3, vector4))

輸出:

D:\python-3.5.2\python.exe D:/PyCharm/py_base/py_numpy.py [[3 4][2 3]]--- [[3 4][2 3]]--- [[1 4][1 1]]--- [[3 4][2 3]]

向量相關

兩個n維向量A(X11,X12,X13,...X1n)A(X_{11},X_{12},X_{13},...X_{1n})與B(X21,X22,X23,...X2n)B(X_{21},X_{22},X_{23},...X_{2n})之間的歐式距離為:

d12=∑k=1n(x1k?x2k)2????????????√

d_{12}=\sqrt{\sum_{k=1}^{n}(x_{1k}-x_{2k})^{2}}

表示成向量運算的形式:

d12=(A?B)(A?B)T??????????????√

d_{12}=\sqrt{(A-B)(A-B)^{T}}

from numpy import *# 計算兩個向量的歐氏距離vector1 = mat([1, 2]) vector2 = mat([3, 4]) print(sqrt((vector1 - vector2) * ((vector1 - vector2).T)))

概率相關

from numpy import * import numpy as nparrayOne = np.array([[1, 2, 3, 4, 5], [7, 4, 3, 3, 3]])# 計算第一列的平均數 mv1 = mean(arrayOne[0])# 計算第二列的平均數 mv2 = mean(arrayOne[1])# 計算第一列的標準差 dv1 = std(arrayOne[0])# 計算第二列的標準差 dv2 = std(arrayOne[1])print(mv1) print(mv2) print(dv1) print(dv2)

總結

以上是生活随笔為你收集整理的机器学习中数据处理与可视化的python、numpy等常用函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。