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

歡迎訪問 生活随笔!

生活随笔

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

python

numpy不用科学记数发 python_Python科学计算库Numpy常用的函数使用

發布時間:2023/12/19 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 numpy不用科学记数发 python_Python科学计算库Numpy常用的函数使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

林小森博客:

Python科學計算庫Numpy常用的函數使用 - 林小森?www.linxiaosen.com

Numpy具有強大的計算功能,本文介紹Numpy常用的函數,可以有效的提高工作效率。 首先導入numpy庫。

import numpy as np

1、求和、平均值、方差

1. np.sum( )

sum()計算數組元素之和,也可以對列表、元組等和數組類似的序列進行求和。當數組是多維時,它計算數組中所有元素的和:

>>> a =np.random.randint(0,10,size=(4,5)) >>> a array([[7, 1, 9, 6, 3],[5, 1, 3, 8, 2],[9, 8, 9, 4, 0],[9, 5, 1, 7, 0]]) >>> np.sum(a) 97

如果指定axis參數,求和運算將沿著指定的軸進行。

>>> np.sum(a,axis=1) array([26, 19, 30, 22]) >>> np.sum(a, axis=0) array([30, 15, 22, 25, 5])

2. np.mean( ) mean()用于求數組的平均值,也可以通過axis參數指定求平均值的軸,通過out參數指定輸出數組。和sum()不同的是,對于整數數組,它使用雙精度浮點數進行計算,而對于其他類型的數組,則使用和數組元素類型相同的累加變量進行計算:

>>>np.mean(a,axis=1) #整數數組使用雙精度浮點數進行計算 array([ 5.2,3.8,6. , 4.4]) >>> np.mean(b) #單精度浮點數使用單精度浮點數進行計算 1.1109205 >>> np.mean(b, dtype=np.double) #用雙稍度浮點數計算平均值 1.1000000238418579

3. np.std( ):標準差 4. np.var( ):方差

2、最值和排序

1. np.min( ):計算數組的最小值

2. np.max( ):計算數組的最大值

3. np.argmin( ):求最小值的下標。如果不指定axis參數,就返回平坦化后的數組下標。

4. np.argmax( ):求最大值的下標。如果不指定axis參數,就返回平坦化后的數組下標。 當使用axis參數時,可以沿著指定的軸計算最大值的下標

5. np.sort( ) 數組的sort()方法用于對數組進行排序,它將改變數組的內容。而sort()函數則返回一個新數組,不改變原始數組。它們的axis參數默認值都為-1,即沿著數組的最后一個軸進行排序。 sort()函數的axis參數可以設置為None,此時它將得到平坦化之后進行排序的新數組。

>>> np.sort(a) #對每行的數據進行排序# b=sort(a) array([[1, 3, 6, 7, 9],[1, 2, 3,5, 8],[0, 4, 8, 9, 9],[0, 1, 5, 7, 9]]) >>> np.sort(a, axis=0) #對每列的數據進行排序 array([[5,1,1, 4, 0], # np.sort(a, axis=None)[7, 1, 3, 6, 0],[9, 5, 9, 7, 2],[9, 8, 9'8, 3]])

6. np.argsort(a, axis=-1, kind='quicksort', order=None):返回排序后數組的原索引值。 參數: a輸入數組; axis指定排序的維度; * kind表示排序算法,包括‘quicksort’, ‘mergesort’和’heapsort’

argsort()返冋數組的排序下標,axis參數的默認值為-1:

>>>idx = np.argsort(a) >>> idx array([[1, 4, 3, 0, 2],[1, 4, 2, 0, 3],[4, 3, 1, 0, 2],[4, 2, 1, 3, 0]])

7. np.median( ) median()可以獲得數組的中值,即對數組進行排序之后,位于數組中間位置的值,當長度是偶數時,得到正中間兩個數的平均值。它也可以指定axis和out參數:

>>> np.median(a,axis=0) array([ 8. , 3. , 6. , 6.5, 1. ])

3、數組形狀

1. np.squeeze(a, axis=None):從數組形狀中刪除單維度條目,即把shape中為1的維度去除. 參數:

  • a表示輸入的數組;
  • axis表示指定需要刪除的維度,但是指定的維度必須為單維度,否則會報錯;axis取值可以為None, int或(tuple of int)。若axis為空,則會刪除所有單維度。
  • 返回:數組。
>>> a = e.reshape(1,1,10) >>> a array([[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]]) >>> np.squeeze(a) array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

4、統計函數

1. np.unique( ):返回其參數數組中所有不同的值,并按從小到大的順序排列。 參數:

  • return_index: True表示返回原始數組中的下標。
  • return_inverse:True表示返回重建原始數組用的下標數組。

下面通過實例介紹unique()的用法。首先用randint()創建含有10個元素、值在0到9范圍之內的隨機整數數組

>>> a =np.random.randint(0,10,10) >>> a array([1, 1, 9, 5, 2, 6, 7, 6, 2, 9])

通過unique(a)可以找到數組a中所有的整數,并按照順序排列:

>>> np.unique(a) array([1, 2, 5, 6, 7, 9])

如果參數return_index為True,就返回兩個數組,第二個數組是第一個數組在原始數組中的下標:

>>> x, idx = np.unique(a, return_index=True) >>> x array([1, 2, 5, 6, 7, 9]) >>> idx array([0, 4, 3, 5, 6, 2])數組idx保存的是數組x中每個元素在數組a中的下標: >>> a[idx] array([1, 2, 5, 6, 7, 9])

如果參數return_inverse為True,那么返回的第二個數組是原始數組a中每個元素在數組x 中的下標:

>>> x, ridx = np.unique(a, return_inverse=True) >>> ridx array([0, 0, 5, 2, 1, 3, 4, 3, 1, 5]) >>>all(x[ridx]==a) #原始數組a和x[ridx]完全相同 True

2. np.bincount():對整數數組中各個元素出現的次數進行統計,它要求數組中所有元素都是非負的。其返回數組中第i個元素的值表示整數i在參數數組中出現的次數。

5、np.random模塊

1、numpy.random.choice(a, size=None, replace=True, p=None): 參數:

  • a : 一維數組或整數,如果是ndarray數組,隨機樣本在該數組獲取(取數據元素),如果是整型數據,則a=np.arange(a) ;
  • size : int or tuple of ints, optional 大小:整型或整型元組中元素個數,可選
  • replace : boolean, optional 替換:布爾型,可選 Whether the sample is with or without replacement 樣本是否有重復值(False,沒有;True,有;默認:True)
  • p : 1-D array-like, optional 1維數組,可選 The probabilities associated with each entry in a. If not given the sample assumes a uniform distribution over all entries in a. 和a里的每個輸入聯系,如果沒有該參數,默認假設a里的每個輸入等概率出現。(和a中元素一一對應,表示該元素出現的概率,概率大的,出現較多)

總結

以上是生活随笔為你收集整理的numpy不用科学记数发 python_Python科学计算库Numpy常用的函数使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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