NumPy常用屬性及方法

  NumPy是高性能科學計算和數據分析的基礎包。部分功能如下:

    • ndarray, 具有矢量算術運算和復雜廣播能力的快速且節省空間的多維數組。
    • 用于對整組數據進行快速運算的標準數學函數(無需編寫循環)。
    • 用于讀寫磁盤數據的工具以及用于操作內存映射文件的工具。
    • 線性代數、隨機數生成以及傅里葉變換功能。
    • 用于集成C、C++、Fortran等語言編寫的代碼的工具。

  首先要導入numpy庫:import numpy as np

A NumPy函數和屬性:

類型類型代碼說明
int8、uint8i1、u1有符號和無符號8位整型(1字節)
int16、uint16i2、u2有符號和無符號16位整型(2字節)
int32、uint32i4、u4有符號和無符號32位整型(4字節)
int64、uint64i8、u8有符號和無符號64位整型(8字節)
float16f2半精度浮點數
float32f4、f單精度浮點數
float64f8、d雙精度浮點數
float128f16、g擴展精度浮點數
complex64c8分別用兩個32位表示的復數
complex128c16分別用兩個64位表示的復數
complex256c32分別用兩個128位表示的復數
bool?布爾型
objectOpython對象
stringSn固定長度字符串,每個字符1字節,如S10
unicodeUn固定長度Unicode,字節數由系統決定,如U10

表2.1.A.1 NumPy類型

?

生成函數作用

np.array( x)

np.array( x, dtype)

將輸入數據轉化為一個ndarray

將輸入數據轉化為一個類型為type的ndarray

np.asarray( array )將輸入數據轉化為一個新的(copy)ndarray

np.ones( N )

np.ones( N, dtype)

np.ones_like( ndarray )

生成一個N長度的一維全一ndarray

生成一個N長度類型是dtype的一維全一ndarray

生成一個形狀與參數相同的全一ndarray

np.zeros( N)

np.zeros( N, dtype)

np.zeros_like(ndarray)

生成一個N長度的一維全零ndarray

生成一個N長度類型位dtype的一維全零ndarray

類似np.ones_like( ndarray )

np.empty( N )

np.empty( N, dtype)

np.empty(ndarray)

生成一個N長度的未初始化一維ndarray

生成一個N長度類型是dtype的未初始化一維ndarray

類似np.ones_like( ndarray )

np.eye( N )

np.identity( N )

創建一個N * N的單位矩陣(對角線為1,其余為0)

np.arange( num)

np.arange( begin, end)

np.arange( begin, end, step)

生成一個從0到num-1步數為1的一維ndarray

生成一個從begin到end-1步數為1的一維ndarray

生成一個從begin到end-step的步數為step的一維ndarray

np.mershgrid(ndarray, ndarray,...)

生成一個ndarray * ndarray * ...的多維ndarray

np.where(cond, ndarray1, ndarray2)

根據條件cond,選取ndarray1或者ndarray2,返回一個新的ndarray

np.in1d(ndarray, [x,y,...])

檢查ndarray中的元素是否等于[x,y,...]中的一個,返回bool數組

??
矩陣函數說明

np.diag( ndarray)

np.diag( [x,y,...])

以一維數組的形式返回方陣的對角線(或非對角線)元素

將一維數組轉化為方陣(非對角線元素為0)

np.dot(ndarray, ndarray)矩陣乘法
np.trace( ndarray)計算對角線元素的和
??
??

排序函數

說明

np.sort( ndarray)

排序,返回副本

np.unique(ndarray)

返回ndarray中的元素,排除重復元素之后,并進行排序

np.intersect1d( ndarray1, ndarray2)

np.union1d( ndarray1, ndarray2)

np.setdiff1d( ndarray1, ndarray2)

np.setxor1d( ndarray1, ndarray2)

返回二者的交集并排序。

返回二者的并集并排序。

返回二者的差。

返回二者的對稱差

??
一元計算函數說明

np.abs(ndarray)

np.fabs(ndarray)

計算絕對值

計算絕對值(非復數)

np.mean(ndarray)

求平均值

np.sqrt(ndarray)

計算x^0.5

np.square(ndarray)

計算x^2

np.exp(ndarray)

計算e^x

log、log10、log2、log1p

計算自然對數、底為10的log、底為2的log、底為(1+x)的log

np.sign(ndarray)

計算正負號:1(正)、0(0)、-1(負)

np.ceil(ndarray)

np.floor(ndarray)

np.rint(ndarray)

計算大于等于改值的最小整數

計算小于等于該值的最大整數

四舍五入到最近的整數,保留dtype

np.modf(ndarray)

將數組的小數和整數部分以兩個獨立的數組方式返回

np.isnan(ndarray)

返回一個判斷是否是NaN的bool型數組

np.isfinite(ndarray)

np.isinf(ndarray)

返回一個判斷是否是有窮(非inf,非NaN)的bool型數組

返回一個判斷是否是無窮的bool型數組

cos、cosh、sin、sinh、tan、tanh

普通型和雙曲型三角函數

arccos、arccosh、arcsin、arcsinh、arctan、arctanh

反三角函數和雙曲型反三角函數

np.logical_not(ndarray)

計算各元素not x的真值,相當于-ndarray

多元計算函數

說明

np.add(ndarray, ndarray)

np.subtract(ndarray, ndarray)

np.multiply(ndarray, ndarray)

np.divide(ndarray, ndarray)

np.floor_divide(ndarray, ndarray)

np.power(ndarray, ndarray)

np.mod(ndarray, ndarray)

相加

相減

乘法

除法

圓整除法(丟棄余數)

次方

求模

np.maximum(ndarray, ndarray)

np.fmax(ndarray, ndarray)

np.minimun(ndarray, ndarray)

np.fmin(ndarray, ndarray)

求最大值

求最大值(忽略NaN)

求最小值

求最小值(忽略NaN)

np.copysign(ndarray, ndarray)

將參數2中的符號賦予參數1

np.greater(ndarray, ndarray)

np.greater_equal(ndarray, ndarray)

np.less(ndarray, ndarray)

np.less_equal(ndarray, ndarray)

np.equal(ndarray, ndarray)

np.not_equal(ndarray, ndarray)

>

>=

<

<=

==

!=

logical_and(ndarray, ndarray)

logical_or(ndarray, ndarray)

logical_xor(ndarray, ndarray)

&

|

^

np.dot( ndarray, ndarray)計算兩個ndarray的矩陣內積
np.ix_([x,y,m,n],...)生成一個索引器,用于Fancy indexing(花式索引)
??
文件讀寫說明
np.save(string, ndarray)將ndarray保存到文件名為 [string].npy 的文件中(無壓縮)
np.savez(string, ndarray1, ndarray2, ...)將所有的ndarray壓縮保存到文件名為[string].npy的文件中
np.savetxt(sring, ndarray, fmt, newline='\n')將ndarray寫入文件,格式為fmt
np.load(string)讀取文件名string的文件內容并轉化為ndarray對象(或字典對象)
np.loadtxt(string, delimiter)讀取文件名string的文件內容,以delimiter為分隔符轉化為ndarray
表2.1.A.2 np常用函數

  B NumPy.ndarray函數和屬性:

ndarray.ndim獲取ndarray的維數
ndarray.shape獲取ndarray各個維度的長度
ndarray.dtype獲取ndarray中元素的數據類型
ndarray.T簡單轉置矩陣ndarray
表2.1.B.1 ndarray屬性
函數說明
ndarray.astype(dtype)轉換類型,若轉換失敗則會出現TypeError
ndarray.copy()復制一份ndarray(新的內存空間)
ndarray.reshape((N,M,...))將ndarray轉化為N*M*...的多維ndarray(非copy)
ndarray.transpose((xIndex,yIndex,...))根據維索引xIndex,yIndex...進行矩陣轉置,依賴于shape,不能用于一維矩陣(非copy)
ndarray.swapaxes(xIndex,yIndex)交換維度(非copy)
??
計算函數說明
ndarray.mean( axis=0 )求平均值?
ndarray.sum( axis= 0)求和?

ndarray.cumsum( axis=0)

ndarray.cumprod( axis=0)

累加?

累乘

ndarray.std()

ndarray.var()

方差

標準差

ndarray.max()

ndarray.min()

最大值

最小值

ndarray.argmax()

ndarray.argmin()

最大值索引

最小值索引

ndarray.any()

ndarray.all()

是否至少有一個True

是否全部為True

ndarray.dot( ndarray)

計算矩陣內積

排序函數

說明

ndarray.sort(axis=0)

排序,返回源數據

表2.1.B.2 ndarray函數
ndarray[n]選取第n+1個元素
ndarray[n:m]選取第n+1到第m個元素
ndarray[:]選取全部元素
ndarray[n:]選取第n+1到最后一個元素
ndarray[:n]選取第0到第n個元素

ndarray[ bool_ndarray ]

注:bool_ndarray表示bool類型的ndarray

選取為true的元素

ndarray[[x,y,m,n]]...

選取順序和序列為x、y、m、n的ndarray

ndarray[n,m]

ndarray[n][m]

選取第n+1行第m+1個元素

ndarray[n,m,...]

ndarray[n][m]....

選取n行n列....的元素
表2.1.B.3 ndarray索引/切片方式

  C NumPy.random函數和屬性:

函數說明

seed()

seed(int)

seed(ndarray)

確定隨機數生成種子

permutation(int)

permutation(ndarray)

返回一個一維從0~9的序列的隨機排列

返回一個序列的隨機排列

shuffle(ndarray)對一個序列就地隨機排列

rand(int)

randint(begin,end,num=1)

產生int個均勻分布的樣本值

從給定的begin和end隨機選取num個整數

randn(N, M, ...)生成一個N*M*...的正態分布(平均值為0,標準差為1)的ndarray
normal(size=(N,M,...))生成一個N*M*...的正態(高斯)分布的ndarray?
beta(ndarray1,ndarray2)產生beta分布的樣本值,參數必須大于0?
?chisquare()產生卡方分布的樣本值?
?gamma()產生gamma分布的樣本值?
?uniform()產生在[0,1)中均勻分布的樣本值?

表2.1.C.1 random常用函數

  D NumPy.linalg函數和屬性:

函數說明
det(ndarray)計算矩陣列式
eig(ndarray)計算方陣的本征值和本征向量

inv(ndarray)

pinv(ndarray)

計算方陣的逆

計算方陣的Moore-Penrose偽逆

qr(ndarray)計算qr分解?
svd(ndarray)計算奇異值分解svd
solve(ndarray)解線性方程組Ax = b,其中A為方陣?
lstsq(ndarray)計算Ax=b的最小二乘解?

表2.1.D.1 linalg常用函數

轉載于:https://www.cnblogs.com/tangbaofang/p/8385750.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452789.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452789.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452789.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Windows下gmssl使用記錄

使用gmssl進行計算sm4&#xff0c;編譯的版本是gmssl2.0&#xff0c;2.1版本編譯不過去 第一步下載軟件&#xff0c;下載Visual Studio 2010旗艦版、nasm-2.13.03-installer-x86、ActivePerl-5.22.4.2205-MSWin32-x86-64int-403863這三個軟件&#xff0c; 注意vs版本不能太低&a…

公司管理項目管理中的技巧

如果在項目實施中選出最難解決的幾個問題&#xff0c;那么管理問題一定名列前茅。在管理問題中&#xff0c;團隊管理又是其中的難點。一個項目管理的好壞&#xff0c;很大程度就體現在團隊的建設和管理上。團隊管理涉及到管理學、心理學和哲學等諸多方面內容&#xff0c;具體實…

數據庫管理系統

什么是數據庫管理系統位于用戶與操作系統之間的一層數據管理軟件是基礎軟件&#xff0c;是一個大型復雜的軟件系統 數據庫管理系統的用途科學地組織和存儲數據、高效地獲取和維護數據數據定義功能提供數據定義語言&#xff08;DDL&#xff09;定義數據庫中的數據對象數據組織、…

kangle服務器搭建java_linux下kangle虛擬主機-架設java空間的教程及心得

1. chmod x jdk-6u31-linux-i586-rpm.bin2. ./jdk-6u31-linux-i586-rpm.bin復制代碼(注&#xff1a;如果下載的版本不同輸入實際版本)2.下載插件包:1. wget http://www.kanglesoft.com/download/ent/easypanel-tomcat-lin-1.0.tar.gz2. tar xzf easypanel-tomcat-lin-1.0.tar.g…

Django項目--登錄判斷裝飾器

view.py中定義登錄判斷裝飾器函數 def login_required(view_func):登錄判斷裝飾器def wrapper(request, *view_args, **view_kwargs):# 判斷用戶是否登錄if request.session.has_key(islogin):# 用戶已登錄,調用對應的視圖return view_func(request, *view_args, **view_kwarg…

Apple著手拋棄32位macOS應用程序

\看新聞很累&#xff1f;看技術新聞更累&#xff1f;試試下載InfoQ手機客戶端&#xff0c;每天上下班路上聽新聞&#xff0c;有趣還有料&#xff01;\\\Apple已經著手拋棄macOS上的32位應用程序了。macOS的下一個維護更新版本High Sierra 10.13.4將會在用戶打開32位應用程序時對…

HiveQL與SQL區別

1、Hive不支持等值連接 ?SQL中對兩表內聯可以寫成&#xff1a;?select * from dual a,dual b where a.key b.key;?Hive中應為?select * from dual a join dual b on a.key b.key; 而不是傳統的格式&#xff1a;SELECT t1.a1 as c1, t2.b1 as c2FROM t1, t2WHERE t1.a2 t…

Django項目--csrf攻擊

1.案例流程圖&#xff1a; 2.django防止csrf的方式&#xff1a; 1 ) Django中默認打開csrf中間件。settings.py文件中&#xff1a; MIDDLEWARE_CLASSES (django.contrib.sessions.middleware.SessionMiddleware,django.middleware.common.CommonMiddleware,django.middlewar…

數據庫管理系統與數據庫系統

數據庫&#xff1a;容納數據的倉庫。數據庫系統&#xff1a;數據庫、數據庫管理系統、硬件、操作人員的合在一起的總稱。數據庫管理系統&#xff1a;用來管理數據及數據庫的系統。數據庫系統包含數據庫管理系統、數據庫及數據庫開發工具所開發的軟件&#xff08;數據庫應用系統…

如果你扯了團隊后腿,你應該內疚

現在&#xff0c;我看到很多人扯了團隊的后腿&#xff0c;一句道歉就了事&#xff0c;更甚者就以另一種方式來表達&#xff1a;你們沒有給我足夠的培訓&#xff0c;你們的工作方式我無法接受&#xff0c;我工資太低&#xff0c;你們做的事情不夠酷&#xff0c;你們做的事情不賺…

mysql count(*),count(1)與count(column)區別

2019獨角獸企業重金招聘Python工程師標準>>> count(*)對行的數目進行計算&#xff0c;包含NULL count(column)對特定的列的值具有的行數進行計算&#xff0c;不包含NULL值。 count()還有一種使用方式&#xff0c;count(1)這個用法和count(*)的結果是一樣的。 性能問…

Java IO API記錄

文件路徑&#xff1a; public static final String FILEPATH File.separator"Users" File.separator"xuminzhe"File.separator"Documents"File.separator"io"; 1.創建文件 public static void main(String[] args) {File filenew File…

Flask項目--預防csrf攻擊原理

1.CSRF機制原理 2.csrf成功攻擊示意圖 3.csrf防御

數據管理技術的發展過程

人工管理階段&#xff08;20世紀50年代中之前&#xff09;文件系統階段&#xff08;20世紀50年代末--60年代中&#xff09;數據庫系統階段&#xff08;20世紀60年代末--現在&#xff09;

一次失敗的項目經理招聘經驗

成功的原因有許多種&#xff0c;而失敗的原因往往就那么幾種。人們更愿意去討論自己是如何成功的&#xff0c;確不太情愿開誠布公的去剖析自己是如何失敗的。而時刻去反思自己失敗的案例&#xff0c;我們會進步的更快&#xff01; 和大家分享一個2010年發生在我身邊的真實案例&…

NG客制項目下的I18n國際化標準方案

方案選擇 國際化i18n ? 這個方案是最成熟的&#xff0c;同時也是官方的方案&#xff0c;但是這樣一個標準化的方案同時意味著靈活度不夠。當需要劃分feature module&#xff0c;需要客制化組件的時候&#xff0c;這個方案的實施的成本就會遠遠超過預期&#xff0c;因此在項目中…

Flsak項目--圖片驗證碼

0. 圖片驗證碼的使用流程 2.后端接口編寫 verify_code.py中編寫接口代碼&#xff1a; # coding:utf-8from . import api from ihome.utils.captcha.captcha import captcha from ihome import redis_store, constants, db from flask import current_app, jsonify, make_respo…

數據庫與數據庫管理系統

數據庫是長期存儲在計算機內有組織的大量的共享的數據集合。可以供各種用戶共享&#xff0c;具有最小冗余度和較高的數據獨立性。數據庫管理系統在數據庫建立、運用和維護時對數據庫進行統一控制&#xff0c;以保證數據的完整性、安全性&#xff0c;并在多用戶同時使用數據庫時…

如何提高團隊情商

在公司發展中&#xff0c;總裁&#xff0c;總監&#xff0c;經理&#xff0c;項目經理&#xff0c;他們對團隊的建設意義重大&#xff0c;工作很重要&#xff0c;但團隊的情商才更重要&#xff0c;筆者公司的一個團隊&#xff0c;三十多個人就像一個人&#xff0c;命令所到之處…

ubuntu java classpath 設置_在Ubuntu中正確設置java classpath和java_home

我有錯誤Exception in thread"main" java.lang.NoClassDefFoundError:當我嘗試在Ubuntu上運行編譯類時。我使用的是一個非常簡單的helloworld示例&#xff0c;互聯網上已有數百萬的響應表明我的classpath和java_home變量設置錯誤。但是&#xff0c;我已經將etc/envir…