numpy學習筆記(三)


(1)numpy的位操作

序號         操作及描述

1.      bitwise_and 對數組元素執行位與操作

2.      bitwise_or 對數組元素執行位或操作

3.      invert 計算位非

4.      left_shift 向左移動二進制表示的位

5.      right_shift 向右移動二進制表示的位

 

(2)NumPy - 字符串函數

以下函數用於對dtype為numpy.string_或numpy.unicode_的數組執行向量化字符串操作。 它們基於 Python 內置庫中的標准字符串函數。

序號         函數及描述

1.      add() 返回兩個str或Unicode數組的逐個字符串連接

2.      multiply() 返回按元素多重連接后的字符串

3.      center() 返回給定字符串的副本,其中元素位於特定字符串的中央

4.      capitalize() 返回給定字符串的副本,其中只有第一個字符串大寫

5.      title() 返回字符串或 Unicode 的按元素標題轉換版本

6.      lower() 返回一個數組,其元素轉換為小寫

7.      upper() 返回一個數組,其元素轉換為大寫

8.      split() 返回字符串中的單詞列表,並使用分隔符來分割

9.      splitlines() 返回元素中的行列表,以換行符分割

10.   strip() 返回數組副本,其中元素移除了開頭或者結尾處的特定字符

11.   join() 返回一個字符串,它是序列中字符串的連接

12.   replace() 返回字符串的副本,其中所有子字符串的出現位置都被新字符串取代

13.   decode() 按元素調用str.decode

14.   encode() 按元素調用str.encode

這些函數在字符數組類(numpy.char)中定義。 較舊的 Numarray 包含chararray類。 numpy.char類中的上述函數在執行向量化字符串操作時非常有用。

 

(3)NumPy - 算數函數

  • 三角函數arcsin,arccos,和arctan函數返回給定角度的sin,cos和tan的反三角函數。 這些函數的結果可以通過numpy.degrees()函數通過將弧度制轉換為角度制來驗證。
  • numpy.around()返回四舍五入到所需精度的值。numpy.around(a,decimals)
  • numpy.floor()返回不大於輸入參數的最大整數。即標量x 的下限是最大的整數i ,使得i <= x。 注意在Python中,向下取整總是從 0 舍入。
  • numpy.ceil()返回輸入值的上限,即,標量x的上限是最小的整數i ,使得i> = x。

 

(4)NumPy - 算數運算

  • 用於執行算術運算(如add(),subtract(),multiply()和divide())的輸入數組必須具有相同的形狀或符合數組廣播規則。
  • numpy.reciprocal()此函數返回參數逐元素的倒數,。 由於 Python 處理整數除法的方式,對於絕對值大於 1 的整數元素,結果始終為 0, 對於整數 0,則發出溢出警告。
  • numpy.power()將第一個輸入數組中的元素作為底數,計算它與第二個輸入數組中相應元素的冪。
  • numpy.mod()返回輸入數組中相應元素的除法余數。 函數numpy.remainder()也產生相同的結果。
  • 對含有復數的數組執行操作。numpy.real() 返回復數類型參數的實部。numpy.imag() 返回復數類型參數的虛部。numpy.conj() 返回通過改變虛部的符號而獲得的共軛復數。numpy.angle() 返回復數參數的角度。 函數的參數是degree。 如果為true,返回的角度以角度制來表示,否則為以弧度制來表示。

(5)NumPy - 統計函數

NumPy 有很多有用的統計函數,用於從數組中給定的元素中查找最小,最大,百分標准差和方差等。 函數說明如下:numpy.amin() 和 numpy.amax()

  • numpy.ptp()函數返回沿軸的值的范圍(最大值 - 最小值)
  • numpy.percentile()百分位數是統計中使用的度量,表示小於這個值得觀察值占某個百分比。
  • numpy.median()中值定義為將數據樣本的上半部分與下半部分分開的值,即中位數。
  • numpy.mean()算術平均值是沿軸的元素的總和除以元素的數量。 numpy.mean()函數返回數組中元素的算術平均值。 如果提供了軸,則沿其計算。
  • numpy.average()加權平均值是由每個分量乘以反映其重要性的因子得到的平均值。根據在另一個數組中給出的各自的權重計算數組中元素的加權平均值。
  • Numpy.std()標准差是與均值的偏差的平方的平均值的平方根。
  • np.var()方差是偏差的平方的平均值

 

(6) NumPy - 排序、搜索和計數函數

NumPy中提供了各種排序相關功能。 這些排序函數實現不同的排序算法,每個排序算法的特征在於執行速度,最壞情況性能,所需的工作空間和算法的穩定性。 下表顯示了三種排序算法的比較。

種類 速度 最壞情況 工作空間 穩定性
'quicksort'(快速排序) 1 O(n^2) 0
'mergesort'(歸並排序) 2 O(n*log(n)) ~n/2
'heapsort'(堆排序) 3 O(n*log(n)) 0
  • numpy.sort()函數返回輸入數組的排序副本。 numpy.sort(a, axis, kind, order)
  • numpy.argsort()對輸入數組沿給定軸執行間接排序,並使用指定排序類型返回數據的索引數組。 這個索引數組用於構造排序后的數組。
  • numpy.lexsort()函數使用鍵序列執行間接排序。 鍵可以看作是電子表格中的一列。 該函數返回一個索引數組,使用它可以獲得排序數據。 注意,最后一個鍵恰好是 sort 的主鍵。
  • numpy.argmax() 和 numpy.argmin() 分別沿給定軸返回最大和最小元素的索引。
  • numpy.nonzero()函數返回輸入數組中非零元素的索引。
  • numpy.extract()返回滿足任何條件的元素。

(7)NumPy - 字節交換

我們已經知道,存儲在計算機內存中的數據取決於 CPU 使用的架構。 它可以是小端(最小有效位存儲在最小地址中)或大端(最小有效字節存儲在最大地址中)。numpy.ndarray.byteswap()函數在兩個表示:大端和小端之間切換。

(8)NumPy - 副本和視圖

在執行函數時,其中一些返回輸入數組的副本,而另一些返回視圖。 當內容物理存儲在另一個位置時,稱為副本。 另一方面,如果提供了相同內存內容的不同視圖,我們將其稱為視圖。

  • Id()簡單的賦值不會創建數組對象的副本。 相反,它使用原始數組的相同id()來訪問它。 id()返回 Python 對象的通用標識符,類似於 C 中的指針。
  • ndarray.view()方法,它是一個新的數組對象,並可查看原始數組的相同數據。 與前一種情況不同,新數組的維數更改不會更改原始數據的維數。
  • ndarray.copy()函數創建一個深層副本。 它是數組及其數據的完整副本,不與原始數組共享。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM