【Python3】X【庫】

怎麼這麼多庫
Numpy,SciPy和Pandas,Matplotlib這幾個常見庫的區別是什麼?傳送門

Numpy

常見功能一覽
矩陣處理

  • 如果需要把一個多維數組“拍平”,可以使用 flatten 函數:name.flatten()
    數據的疊加hstack(打橫) 和 vstack(樹立)print('水平方向:', np.hstack((f, g)))
    ravel():如果沒有必要,不會產生源數據的副本
    flatten():返回源數據的副本
    squeeze():只能對維數爲1的維度降維

  • z.reshape(-1, 1)行數未知,列數爲1,numpy.reshape(a, newshape, order='C') 反正-1就是不管了的意思嘛

  • numpy.moveaxis (123)將2移動到3 同樣的函數還有 transpose swapaxes

  • a.dot(b)np.dot(a,b)效果相同都是矩陣的相乘(左乘右)
    np.asarray(projection_matrix).dot(point_3d_position)是後者的矩陣點乘前者的矩陣
    區分np.matmul(h, i) 矩陣相乘
    https://blog.csdn.net/alwaysyxl/article/details/83050137

  • round(80.23456, 2) : 80.23,不設置參數則取整

  • np.linalg.norm 求範數 https://blog.csdn.net/hqh131360239/article/details/79061535
    np.linalg.det():矩陣求行列式 np.linalg.inv():矩陣求逆
    np.transpose() : 矩陣轉置(對於三維的數組,有比如(1,0,2)就是將第一維,第二維的元素進行reshape的操作,就是重新放置一下)

  • numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)等差數列,當endpoint=false的時候,結束點會被排除,公差-10%,retstep=true的時候會顯示公差。

numpy的數組的處理

  • a = np.array([[1,2,3],[3,4,5],[4,5,6]]) print (a[...,1]) # 第2列元素 print (a[1,...]) # 第2行元素即等於print (a[1,:])逗號前的是索引,後面是空的切片 print (a[...,1:]) # 第2列及剩下的所有元素反之print (a[1:,:])就是一維下第2行及剩下的所有元素 print (a[::2]) #步長爲2的切片 !對於n維數組,第n+1個參數是沒有 “ ,
    ”沒有切片的性質的

  • numpy.digitize(x, bins, right = False) 返回x在數組bins的位置(right:間隔是否包含最右

  • 矩陣轉換列表類a2.tolist() 列表轉數組 np.array(a3)

  • numpy.digitize(x, bins, right = False) bins :一維單調數組,必須是升序或者降序
    right:間隔是否包含最右 返回值:x在bins中的位置

  • array[array >= value]直接用numpy數組的比較哦嘻嘻

  • np.diag = diagonal對角線一維變二維,二維變一維

  • np.tile 按照參數往不同的方向鋪瓷磚啊


Pandas

pandas 是基於NumPy 的一種工具,該工具是爲了解決數據分析任務而創建的。
Series:可以運用ndarray或字典的幾乎所有索引操作和函數,融合了字典和ndarray的優點。DataFrame:是一個表格型的數據結構,它含有一組有序的列,每列可以是不同的值類型(數值、字符串、布爾值等)。DataFrame既有行索引也有列索引,它可以被看做由Series組成的字典(共用同一個索引)。 
Index:pandas的索引對象負責管理軸標籤和其他元數據(比如軸名稱等)。構建Series或DataFrame時,所用到的任何數組或其他序列的標籤都會被轉換成一個Index。Index對象不可修改,從而在多個數據結構之間安全共享。


Matplotlib

  • 出現了死活不出圖的問題,百度了很多的解決方法,我覺得,不要你覺得 ,是新版的庫導入方式的問題,我的matplotlib版本爲3.1.0,正確的導入姿勢應該是import matplotlib.pyplot as plt

TensorboardX

  • 教程 https://www.jianshu.com/p/46eb3004beca

PIL

  • PIL.Image與np.array的轉換
    PIL —> np | img = numpy.array(im)
    np —> PIL | img = Image.fromarray(img.astype('uint8')).convert('RGB')
    不同庫之間的數組轉換是要的!!!先轉換爲他的形式纔可以使用他的功能
  • 圖片縮放並不會失真 img = img.resize((width, height),Image.ANTIALIAS)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章