學習筆記
Numpy主要用於對多維數組執行計算。提供大量的庫函數和操做。普遍用於如下任務:html
- 機器學習:編寫機器學習算法時,須要對矩陣進行各類數值計算。例如:矩陣乘法、換位、加法等。Numpy數組用於存儲訓練數據和機器學習模型的參數
- 圖像處理和計算機圖形學:圖像表示爲多維數字數組。Numpy提供了一些庫函數來快速處理圖像
- 數學任務:執行數學任務,好比:數值積分、微分、內插、外推
建立數組python
使用Numpy提供的數組,成爲ndarrays,能夠執行矢量、矩陣、線性代數git
數組屬性
type(a) 變量類型github
a.dtype 數據類型正則表達式
a.size 大小算法
a.shape 維度api
a.itemsize 每一個項佔用的字節數數組
a.ndim 數組維數安全
a.nbytes 數組中全部數據消耗掉的字節數app
輸入和輸出
NumPy二進制文件(NPY, NPZ)
- load(file[, mmap_mode, allow_pickle, …]) 從.npy,.npz或pickle文件加載數組或pickle對象。
- save(file, arr[, allow_pickle, fix_imports]) 將數組保存爲NumPy .npy格式的二進制文件。
- savez(file, args, *kwds) 將多個數組以未壓縮的.npz格式保存到單個文件中。
- savez_compressed(file, args, *kwds) 將多個數組以壓縮的.npz格式保存到單個文件中。
這些二進制文件類型的格式記錄在http://docs.scipy.org/doc/numpy/neps/npy-format.html
文本文件
- loadtxt(fname[, dtype, comments, delimiter, …]) 從文本文件加載數據。
- savetxt(fname, X[, fmt, delimiter, newline, …]) 從文本文件加載數據。
- genfromtxt(fname[, dtype, comments, …]) 從文本文件加載數據,並按指定處理缺失值。
- fromregex(file, regexp, dtype[, encoding]) 使用來自文本文件構造數組
正則表達式解析。
- fromstring(string[, dtype, count, sep]) 從字符串中的文本數據初始化的新1-D數組。
- ndarray.tofile(fid[, sep, format]) 將數組做爲文本或二進制寫入文件(默認)。
- ndarray.tolist() 將數組做爲(多是嵌套的)列表返回。
原始二進制文件
- fromfile(file[, dtype, count, sep]) 根據文本或二進制文件中的數據構造數組。
- ndarray.tofile(fid[, sep, format]) 將數組做爲文本或二進制寫入文件(默認)。
字符串格式
- array2string(a[, max_line_width, precision, …]) 返回數組的字符串表示形式。
- array_repr(arr[, max_line_width, precision, …]) 返回數組的字符串表示形式。
- array_str(a[, max_line_width, precision, …]) 返回數組中數據的字符串表示形式。
- format_float_positional(x[, precision, …]) 在位置表示法中將浮點標量格式化爲十進制字符串。
- format_float_scientific(x[, precision, …]) 使用科學計數法將浮點標量格式化爲十進制字符串。
內存映射文件
- memmap 爲存儲在磁盤上的二進制文件中的數組建立內存映射。
文本格式選項
- set_printoptions([precision, threshold, …]) 設置打印選項。
- get_printoptions() 返回當前的打印選項。
- set_string_function(f[, repr]) 設置一個Python函數,以便在至關打印數組時使用。
Base-n 相關
- binary_repr(num[, width]) 將輸入數字的二進制表示形式返回爲字符串。
- base_repr(number[, base, padding]) 返回給定基本系統中數字的字符串表示形式。
數據源
- DataSource([destpath]) 通用數據源文件(文件,http,ftp,...)
建立數組
另見:
Array creation
Ones 和 zeros 方法
- empty(shape[, dtype, order]) 返回給定形狀和類型的新數組,而不初始化條目。
- empty_like(a[, dtype, order, subok]) 返回一個與給定數組具備相同形狀和類型的新數組。
- eye(N[, M, k, dtype, order]) 返回一個二維數組,其中對角線爲1,零點爲零。
- identity(n[, dtype]) 返回標識數組。
- ones(shape[, dtype, order]) 返回一個給定形狀和類型的新數組,用一個填充。
- ones_like(a[, dtype, order, subok]) 返回與給定數組具備相同形狀和類型的數組。
- zeros(shape[, dtype, order]) 返回給定形狀和類型的新數組,用零填充。
- zeros_like(a[, dtype, order, subok]) 返回與給定數組具備相同形狀和類型的零數組。
- full(shape, fill_value[, dtype, order]) 返回給定形狀和類型的新數組,填充fill_value。
- full_like(a, fill_value[, dtype, order, subok]) 返回與給定數組具備相同形狀和類型的完整數組。
利用現有數據
- array(object[, dtype, copy, order, subok, ndmin]) 建立一個新的數組。
- asarray(a[, dtype, order]) 將輸入的參數轉換爲數組。
- asanyarray(a[, dtype, order]) 將輸入轉換爲ndarray,但經過ndarray子類傳遞。
- ascontiguousarray(a[, dtype]) 在內存中返回連續數組(C順序)。
- asmatrix(data[, dtype]) 將輸入轉換爲矩陣。
- copy(a[, order]) 返回給定對象的數組副本。
- frombuffer(buffer[, dtype, count, offset]) 將緩衝區轉換爲一維數組。
- fromfile(file[, dtype, count, sep]) 從文本或二進制文件中的數據構造數組。
- fromfunction(function, shape, **kwargs) 經過在每一個座標上執行函數來構造數組。
- fromiter(iterable, dtype[, count]) 從可迭代對象建立一個新的一維數組。
- fromstring(string[, dtype, count, sep]) 從字符串中的文本數據初始化的新的一維數組.
- loadtxt(fname[, dtype, comments, delimiter, …]) 從文本文件加載數據。
- Creating record arrays (numpy.rec)
注意
numpy.rec
是numpy.core.records的首選別名。
- core.records.array(obj[, dtype, shape, …]) 從各類各樣的對象構造一個記錄數組。
- core.records.fromarrays(arrayList[, dtype, …]) 從數組的(平面)列表建立記錄數組
- core.records.fromrecords(recList[, dtype, …]) 從文本形式的記錄列表中建立一個從新數組
- core.records.fromstring(datastring[, dtype, …]) 從字符串中包含的二進制數據建立(只讀)記錄數組。
core.records.fromfile(fd[, dtype, shape, …]) 從二進制文件數據建立數組
建立字符數組(numpy.charr
)
注意
numpy.char
是 numpy.core.defchararra
的首選別名。
- core.defchararray.array(obj[, itemsize, …]) 建立一個字符數組。
- core.defchararray.asarray(obj[, itemsize, …]) 將輸入轉換爲字符數組,只在必要時複製數據。
數值範圍
- arange([start,] stop[, step,][, dtype]) 在給定的間隔內返回均勻間隔的值。
- linspace(start, stop[, num, endpoint, …]) 在指定的間隔內返回均勻間隔的數字。
- logspace(start, stop[, num, endpoint, base, …]) 返回數在對數刻度上均勻分佈。
- geomspace(start, stop[, num, endpoint, dtype]) 返回數在對數尺度上均勻分佈(幾何級數)。
- meshgrid(xi, *kwargs) 從座標向量返回座標矩陣。
- mgrid nd_grid 實例,它返回一個密集的多維「meshgrid」。
- ogrid nd_grid 實例,它返回一個開放的多維「meshgrid」。
構建矩陣
- diag(v[, k]) 提取對角線或構造對角線陣列。
- diagflat(v[, k]) 使用展平輸入建立二維數組做爲對角線。
- tri(N[, M, k, dtype]) 一個數組,其中包含給定對角線和低於給定對角線的數字,其餘地方爲零
- tril(m[, k]) 數組的下三角形。
- triu(m[, k]) 數組的上三角形。
- vander(x[, N, increasing]) 生成Vandermonde矩陣。
矩陣類
- mat(data[, dtype]) 將輸入解釋爲矩陣。
- bmat(obj[, ldict, gdict]) 從字符串、嵌套序列或數組生成矩陣對象
數組操做
基本操做
- copyto(dst, src[, casting, where]) 將值從一個數組複製到另外一個數組,並根據須要進行廣播。
改變數組形狀
- reshape(a, newshape[, order]) 爲數組提供新形狀而不更改其數據。
- ravel(a[, order]) 返回一個連續的扁平數組。
- ndarray.flat 數組上的一維迭代器.
-
ndarray.flatten([order]) 返回摺疊成一維的數組的副本。
ss
轉置式運算
-
moveaxis(a, source, destination) 將數組的軸移動到新位置。
- rollaxis(a, axis[, start]) 向後滾動指定的軸,直到它位於給定位置。
- swapaxes(a, axis1, axis2) 交換數組的兩個軸。
- ndarray.T 與self.transpose() 相同,只是若是self.ndim < 2 則返回self。
- transpose(a[, axes]) 置換數組的維度。
更改尺寸數量
- atleast_1d(*arys) 將輸入轉換爲至少具備一個維度的數組。
- atleast_2d(*arys) 將輸入視爲具備至少兩個維度的數組。
- atleast_3d(*arys) 將輸入視爲具備至少三維的數組。
- broadcast 製做一個模仿廣播的對象。
- broadcast_to(array, shape[, subok]) 將數組廣播到新形狀。
- broadcast_arrays(args, *kwargs) 相互廣播任意數量的數組。
- expand_dims(a, axis) 展開數組的形狀。
- squeeze(a[, axis]) 展開數組的形狀。
改變陣列的種類
- asarray(a[, dtype, order]) 將輸入轉換爲數組。
- asanyarray(a[, dtype, order]) 將輸入轉換爲ndarray,但經過ndarray子類。
- asmatrix(data[, dtype]) 將輸入解釋爲矩陣。
- asfarray(a[, dtype]) 返回轉換爲float類型的數組。
- asfortranarray(a[, dtype]) 返回在內存中以Fortran順序佈局的數組。
- ascontiguousarray(a[, dtype]) 在內存中返回一個連續的數組(C順序)。
- asarray_chkfinite(a[, dtype, order]) 將輸入轉換爲數組,檢查NaN或Infs。
- asscalar(a) 將大小爲1的數組轉換爲標量等效數組。
- require(a[, dtype, requirements]) 返回知足要求的提供類型的ndarray。
加入數組
- concatenate((a1, a2, …)[, axis, out]) 沿現有軸加入一系列數組。
- stack(arrays[, axis, out]) 沿新軸加入一系列數組。
- column_stack(tup) 將1-D陣列做爲列堆疊成2-D陣列。
- dstack(tup) 按順序深度堆疊陣列(沿第三軸)。
- hstack(tup) 按順序堆疊數組(列式)。
- vstack(tup) 垂直堆疊數組(行方式)。
- block(arrays) 從嵌套的塊列表中組裝nd數組。
拆分數組
- split(ary, indices_or_sections[, axis]) 將數組拆分爲多個子數組。
- array_split(ary, indices_or_sections[, axis]) 將數組拆分爲多個子數組。
- dsplit(ary, indices_or_sections) 沿第3軸(深度)將數組拆分爲多個子數組。
- hsplit(ary, indices_or_sections) 將數組水平拆分爲多個子數組(按列)。
- vsplit(ary, indices_or_sections) 將數組垂直拆分爲多個子數組(逐行)。
平鋪陣列
- tile(A, reps) 經過重複A重複給出的次數來構造數組。
- repeat(a, repeats[, axis]) 重複數組的元素。
Adding and removing elements
- delete(arr, obj[, axis]) 返回一個新數組,其子軸數組沿軸被刪除。
- insert(arr, obj, values[, axis]) 在給定索引以前沿給定軸插入值。
- append(arr, values[, axis]) 將值附加到數組的末尾。
- resize(a, new_shape) 返回具備指定形狀的新數組。
- trim_zeros(filt[, trim]) 從1-D數組或序列中修剪前導和/或尾隨零。
- unique(ar[, return_index, return_inverse, …]) 找到數組的惟一元素。
從新排列元素
- flip(m, axis) 沿給定軸反轉數組中元素的順序。
- fliplr(m) 向左/向右翻轉陣列。
- flipud(m) 向上/向下翻轉陣列。
- reshape(a, newshape[, order]) 爲數組提供新形狀而不更改其數據。
- roll(a, shift[, axis]) 沿給定軸滾動數組元素。
- rot90(m[, k, axes]) 在軸指定的平面中將數組旋轉90度
字符串操做
此模塊爲numpy.string_或numpy.unicode_類型的數組提供一組矢量化字符串操做。全部這些都基於Python標準庫中的字符串方法。
String operations
- add(x1, x2) 返回兩個str或unicode數組的逐元素字符串鏈接。
- multiply(a, i) 返回(a * i), 即字符串多個鏈接,逐個元素。
- mod(a, values) 返回(a%i),即Python以前的2.6字符串格式化(插值),對於str或unicode等一對數組的元素。
- capitalize(a) 返回a的副本,其中只有每一個元素的第一個字符大寫。
- center(a, width[, fillchar]) 返回a的副本,其元素以長度爲一的字符串爲中心。
- decode(a[, encoding, errors]) 逐元素方式調用str.decode。
- encode(a[, encoding, errors]) 逐元素方式調用str.encode。
- join(sep, seq) 返回一個字符串,它是序列seq中字符串的串聯。
- ljust(a, width[, fillchar]) 返回一個數組,其中包含左對齊的元素,長度爲寬度的字符串。
- lower(a) 返回一個數組,其元素轉換爲小寫。
- lstrip(a[, chars]) 對於a中的每一個元素,返回刪除了前導字符的副本。
- partition(a, sep) 將每一個元素分紅一個周圍的sep。
- replace(a, old, new[, count]) 對於a中的每一個元素,返回一個字符串的副本,其中全部出現的substring old都替換爲new。
- rjust(a, width[, fillchar]) 返回一個數組,其中右對齊元素的長度爲寬度。
- rpartition(a, sep) 對最右邊的分隔符周圍的每一個元素進行分區(拆分)。
- rsplit(a[, sep, maxsplit]) 對於a中的每一個元素,使用sep做爲分隔符字符串,返回字符串中單詞的列表。
- rstrip(a[, chars]) 對於a中的每一個元素,返回一個刪除了尾隨字符的副本。
- split(a[, sep, maxsplit]) 對於a中的每一個元素,使用sep做爲分隔符字符串,返回字符串中單詞的列表。
- splitlines(a[, keepends]) 對於a中的每一個元素,返回元素中的行列表,在行邊界處斷開。
- strip(a[, chars]) 對於a中的每一個元素,返回一個刪除了前導和尾隨字符的副本。
- swapcase(a) 返回元素的字符串副本,大寫字符轉換爲小寫,反之亦然。
- title(a) 返回元素字符串的字符串或unicode的版本。
- translate(a, table[, deletechars]) 對於a中的每一個元素,返回字符串的副本,其中刪除可選參數deletechars中出現的全部字符,並經過給定的轉換表映射其他字符。
- upper(a) 返回一個數組,其元素轉換爲大寫。
- zfill(a, width) 返回左邊用零填充的數字字符串
對照
與標準的numpy比較運算符不一樣,char模塊中的那些運算符在執行比較以前剝離尾隨空白字符。
- equal(x1, x2) 返回 (x1 == x2) 逐元素。
- not_equal(x1, x2) 返回 (x1 != x2) 逐元素。
- greater_equal(x1, x2) 返回 (x1 >= x2) 逐元素。
- less_equal(x1, x2) 返回 (x1 <= x2) 逐元素。
- greater(x1, x2) 返回 (x1 > x2) 逐元素。
- less(x1, x2) 返回 (x1 < x2) 逐元素。
字符串信息
- count(a, sub[, start, end]) 返回一個數組,其中包含[start, end]範圍內substring sub的非重疊出現次數。
- find(a, sub[, start, end]) 對於每一個元素,返回找到substring sub的字符串中的最低索引。
- index(a, sub[, start, end]) 與find同樣,但在找不到子字符串時會引起ValueError。
- isalpha(a) 若是字符串中的全部字符都是字母而且至少有一個字符,則返回每一個元素的true,不然返回false。
- isdecimal(a) 對於每一個元素,若是元素中只有十進制字符,則返回True。
- isdigit(a) 若是字符串中的全部字符都是數字而且至少有一個字符,則返回每一個元素的true,不然返回false。
- islower(a) 若是字符串中的全部外殼字符都是小寫且至少有一個外殼字符,則爲每一個元素返回true,不然返回false。
- isnumeric(a) 對於每一個元素,若是元素中只有數字字符,則返回True。
- isspace(a) 若是字符串中只有空格字符而且至少有一個字符,則爲每一個元素返回true,不然返回false。
- istitle(a) 若是元素是一個帶有標題的字符串而且至少有一個字符,則爲每一個元素返回true,不然返回false。
- isupper(a) 若是字符串中的全部外殼字符都是大寫且至少有一個字符,則爲每一個元素返回true,不然返回false。
- rfind(a, sub[, start, end]) 對於a中的每一個元素,返回找到substring sub的字符串中的最高索引,使得sub包含在[start, end]中。
- rindex(a, sub[, start, end]) 和rfind同樣,可是當找不到substring sub時會引起ValueError。
- startswith(a, prefix[, start, end]) 返回一個布爾數組,該數組爲True,其中a中的字符串元素以prefix開頭,不然爲False。
便捷的類
- chararray(shape[, itemsize, unicode, …]) 提供有關字符串和unicode值數組的便捷視圖
時間日期操做
- datetime_as_string(arr[, unit, timezone, …]) 將日期時間數組轉換爲字符串數組。
- datetime_data(dtype, /) 獲取有關日期或時間類型的步長的信息。
營業日功能
- busdaycalendar([weekmask, holidays]) 工做日日曆對象,可有效存儲定義busday系列函數的有效天數的信息。
- is_busday(dates[, weekmask, holidays, …]) 計算哪一個給定日期是有效日期,哪些日期不是。
- busday_offset(dates, offsets[, roll, …]) 首先根據滾動規則將日期調整爲有效日期,而後將偏移應用於有效日期內計算的給定日期。
- busday_count(begindates, enddates[, …]) 計算beginupdates和結束日期之間的有效天數,不包括enddates的日期。
數據類型操做
- can_cast(from_, to[, casting]) 若是根據強制轉換規則在數據類型之間進行轉換,則返回True。
- promote_types(type1, type2) 返回具備最小大小和最小標量種類的數據類型,能夠安全地轉換type1和type2。
- min_scalar_type(a) 對於標量a,返回具備最小大小和最小標量類型的數據類型,該類型能夠保存其值。
- result_type(*arrays_and_dtypes) 返回將NumPy類型提高規則應用於參數所產生的類型。
- common_type(*arrays) 返回輸入數組所共有的標量類型。
- obj2sctype(rep[, default]) 返回對象的標量dtype或與Python類型等效的NumPy。
建立數據類型
- dtype(obj[, align, copy]) 建立數據類型對象。
- format_parser(formats, names, titles[, …]) 類將格式、名稱、標題說明轉換爲dtype。
數據類型信息
- finfo(dtype) 浮點類型的機器限制。
- iinfo(type) 整數類型的機器限制。
- MachAr([float_conv, int_conv, …]) 診斷機器參數。
數據類型測試
- issctype(rep) 肯定給定對象是否表示標量數據類型。
- issubdtype(arg1, arg2) 若是第一個參數是類型層次結構中的類型碼較低/相等的類型,則返回True。
- issubsctype(arg1, arg2) 肯定第一個參數是不是第二個參數的子類。
- issubclass_(arg1, arg2) 肯定一個類是不是第二類的子類。
- find_common_type(array_types, scalar_types) 根據標準強制規則肯定常見類型。
雜項
- typename(char) 返回給定數據類型代碼的描述。
- sctype2char(sctype) 返回標量dtype的字符串表示形式。
- mintypecode(typechars[, typeset, default]) 返回給定類型能夠安全轉換到的最小大小類型的字符
線性代數
矩陣和矢量產品
- dot(a, b[, out]) 兩個數組的點積。
linalg.multi_dot(arrays) 在單個函數調用中計算兩個或多個數組的點積,同時自動選擇最快的求值順序。
- vdot(a, b) 返回兩個向量的點積。
- inner(a, b) 兩個數組的內積。
- outer(a, b[, out]) 計算兩個向量的外積。
- matmul(a, b[, out]) 兩個數組的矩陣乘積。
- tensordot(a, b[, axes]) 對於數組> = 1-D,沿指定軸計算張量點積。
- einsum(subscripts, *operands[, out, dtype, …]) 評估操做數上的愛因斯坦求和約定。
- einsum_path(subscripts, *operands[, optimize]) 經過考慮中間數組的建立,評估einsum表達式的最低成本收縮順序。
- linalg.matrix_power(M, n) 將方陣提升到(整數)冪n。
- kron(a, b) 兩個陣列的Kronecker產品。
分解
- linalg.cholesky(a) Cholesky分解。
- linalg.qr(a[, mode]) 計算矩陣的qr分解。
- linalg.svd(a[, full_matrices, compute_uv]) 奇異值分解。
矩陣特徵值
- linalg.eig(a) 計算正方形陣列的特徵值和右特徵向量。
- linalg.eigh(a[, UPLO]) 返回Hermitian或對稱矩陣的特徵值和特徵向量。
- linalg.eigvals(a) 計算通常矩陣的特徵值。
- linalg.eigvalsh(a[, UPLO]) 計算Hermitian或實對稱矩陣的特徵值。
規範和其餘數字
- linalg.norm(x[, ord, axis, keepdims]) 矩陣或矢量規範。
- linalg.cond(x[, p]) 計算矩陣的條件數。
- linalg.det(a) 計算數組的行列式。
- linalg.matrix_rank(M[, tol, hermitian]) 使用SVD方法返回陣列的矩陣等級
- linalg.slogdet(a) Compute the sign and (natural) 數組行列式的對數。
- trace(a[, offset, axis1, axis2, dtype, out]) 返回數組對角線的總和。
求解方程和反轉矩陣
- linalg.solve(a, b) 求解線性矩陣方程或線性標量方程組。
- linalg.tensorsolve(a, b[, axes]) 求解x的張量方程ax = b。
- linalg.lstsq(a, b[, rcond]) 將最小二乘解返回到線性矩陣方程。
- linalg.inv(a) 計算矩陣的(乘法)逆。
- linalg.pinv(a[, rcond]) 計算矩陣的(Moore-Penrose)僞逆。
- linalg.tensorinv(a[, ind]) 計算N維數組的「逆」。
金融API
簡單的財務功能
- fv(rate, nper, pmt, pv[, when]) 計算將來價值。
- pv(rate, nper, pmt[, fv, when]) 計算現值。
- npv(rate, values) 返回現金流序列的NPV(淨現值)。
- pmt(rate, nper, pv[, fv, when]) 計算貸款本金和利息的付款。
- ppmt(rate, per, nper, pv[, fv, when]) 計算貸款本金的付款。
- ipmt(rate, per, nper, pv[, fv, when]) 計算付款的利息部分。
- irr(values) 返回內部收益率(IRR)。
- mirr(values, finance_rate, reinvest_rate) 修改內部收益率。
- nper(rate, pmt, pv[, fv, when]) 計算按期付款的數量。
- rate(nper, pmt, pv, fv[, when, guess, tol, …]) 計算每一個期間的利率。
索引相關API
另見:
Indexing
生成索引數組
- c_ 將切片對象轉換爲沿第二軸的鏈接。
- r_ 將切片對象轉換爲沿第一軸的鏈接。
- s_ 爲數組構建索引元組的更好方法。
- nonzero(a) 返回非零元素的索引。
- where(condition, [x, y]) 返回元素,能夠是x或y,具體取決於條件。
- indices(dimensions[, dtype]) 返回表示網格索引的數組。
- ix_(*args) 從多個序列構造一個開放網格。
- ogrid nd_grid實例,它返回一個開放的多維「meshgrid」。
- ravel_multi_index(multi_index, dims[, mode, …]) 將索引數組的元組轉換爲平面索引數組,將邊界模式應用於多索引。
- unravel_index(indices, dims[, order]) 將平面索引或平面索引數組轉換爲座標數組的元組。
- diag_indices(n[, ndim]) 返回索引以訪問數組的主對角線。
- diag_indices_from(arr) 返回索引以訪問n維數組的主對角線。
- mask_indices(n, mask_func[, k]) 給定掩蔽函數,將索引返回到訪問(n,n)數組。
- tril_indices(n[, k, m]) 返回(n,m)數組的下三角形的索引。
- tril_indices_from(arr[, k]) 返回arr的下三角形的索引。
- triu_indices(n[, k, m]) 返回(n,m)數組的上三角形的索引。
- triu_indices_from(arr[, k]) 返回arr上三角的索引。
相似索引的操做
- take(a, indices[, axis, out, mode]) 從軸上獲取數組中的元素。
- choose(a, choices[, out, mode]) 從索引數組和一組數組構造一個數組以供選擇。
- compress(condition, a[, axis, out]) 沿給定軸返回數組的選定切片。
- diag(v[, k]) 提取對角線或構造對角線陣列。
- diagonal(a[, offset, axis1, axis2]) 返回指定的對角線。
- select(condlist, choicelist[, default]) 返回從選擇列表中的元素繪製的數組,具體取決於條件。
- lib.stride_tricks.as_strided(x[, shape, …]) 使用給定的形狀和步幅建立數組視圖。
將數據插入數組
- place(arr, mask, vals) 根據條件和輸入值更改數組的元素。
- put(a, ind, v[, mode]) 用給定值替換數組的指定元素。
- putmask(a, mask, values) 根據條件和輸入值更改數組的元素。
- fill_diagonal(a, val[, wrap]) 填充任何維度的給定數組的主對角線。
迭代數組
- nditer 用於迭代數組的高效多維迭代器對象。
- ndenumerate(arr) 多維索引迭代器。
- ndindex(*shape) 用於索引數組的N維迭代器對象。
- flatiter 平面迭代器對象迭代數組。
- lib.Arrayterator(var[, buf_size]) 用於大型數組的緩衝迭代器。
排序、搜索和計數
排序
- sort(a[, axis, kind, order]) 返回數組的排序副本。
- lexsort(keys[, axis]) 使用一系列鍵執行間接排序。
- argsort(a[, axis, kind, order]) 返回對數組進行排序的索引。
- ndarray.sort([axis, kind, order]) 就地對數組進行排序。
- msort(a) 返回沿第一個軸排序的數組副本。
- sort_complex(a) 首先使用實部對複雜數組進行排序,而後使用虛部進行排序。
- partition(a, kth[, axis, kind, order]) 返回數組的分區副本。
- argpartition(a, kth[, axis, kind, order]) 使用kind關鍵字指定的算法沿給定軸執行間接分區。
搜索
- argmax(a[, axis, out]) 返回沿軸的最大值的索引。
- nanargmax(a[, axis]) 返回指定軸上最大值的索引,忽略NAS。
- argmin(a[, axis, out]) 返回沿軸的最小值的索引。
- nanargmin(a[, axis]) 返回指定軸上的最小值的索引,忽略NAS。
- argwhere(a) 查找按元素分組的非零數組元素的索引。
- nonzero(a) 返回非零元素的索引。
- flatnonzero(a) 返回a的展平版本中非零的索引。
- where(condition, [x, y]) 返回元素,能夠是x或y,具體取決於條件。
- searchsorted(a, v[, side, sorter]) 查找應插入元素以維護順序的索引。
- extract(condition, arr) 返回知足某些條件的數組元素。
計數
- count_nonzero(a[, axis]) 計算數組a中的非零值的數量。
查找API
造真集
- unique(ar[, return_index, return_inverse, …]) 查找數組的惟一元素。
布爾運算
- in1d(ar1, ar2[, assume_unique, invert]) 測試一維數組的每一個元素是否也存在於第二個數組中.
- intersect1d(ar1, ar2[, assume_unique]) 找到兩個數組的交集。
- isin(element, test_elements[, …]) 計算test_Element中的元素,只在元素上廣播。
- setdiff1d(ar1, ar2[, assume_unique]) 找出兩個數組的集合差。
- setxor1d(ar1, ar2[, assume_unique]) 找到兩個數組的集合。
- union1d(ar1, ar2) 找到兩個數組的並集。
自動域數學函數
注意
numpy.emath
是numpy.lib.scimath
的首選別名,可在導入numpy
後使用。
包裝器用於更加用戶友好地調用某些數學函數,這些函數的輸出數據類型與輸入的某些域中的輸入數據類型不一樣。
例如,對於帶有分支切割的log
這樣的函數,此模塊中的版本在複雜平面中提供數學上有效的答案:
>>> import math >>> from numpy.lib import scimath >>> scimath.log(-math.exp(1)) == (1+1j*math.pi) True
相似地,正確處理sqrt
和其餘基本對數power
和trig函數。有關具體示例,請參閱各自的文檔。
浮點錯誤處理
設置和獲取錯誤處理
- seterr([all, divide, over, under, invalid]) 設置如何處理浮點錯誤。
- geterr() 獲取當前處理浮點錯誤的方法。
- seterrcall(func) 設置浮點錯誤回調函數或日誌對象。
- geterrcall() 返回用於浮點錯誤的當前回調函數。
- errstate(**kwargs) 用於浮點錯誤處理的上下文管理器。
內部功能
- seterrobj(errobj) 設置定義浮點錯誤處理的對象。
- geterrobj() 返回定義浮點錯誤處理的當前對象。
離散傅里葉變換
標準的 FFTs
- fft(a[, n, axis, norm]) 計算一維離散傅立葉變換。
- ifft(a[, n, axis, norm]) 計算一維離散傅立葉逆變換。
- fft2(a[, s, axes, norm]) 計算二維離散傅立葉變換
- ifft2(a[, s, axes, norm]) 計算二維逆離散傅立葉變換。
- fftn(a[, s, axes, norm]) 計算二維逆離散傅立葉變換。
- ifftn(a[, s, axes, norm]) 計算N維逆離散傅立葉變換。
真實的 FFTs
- rfft(a[, n, axis, norm]) 計算一維離散傅立葉變換用於實際輸入。
- irfft(a[, n, axis, norm]) 計算實際輸入的n點DFT的倒數。
- rfft2(a[, s, axes, norm]) 計算實陣列的二維FFT.
- irfft2(a[, s, axes, norm]) 計算實數組的二維逆FFT。
- rfftn(a[, s, axes, norm]) 計算實輸入的N維離散傅立葉變換.
- irfftn(a[, s, axes, norm]) 求實輸入的N維FFT的逆運算.
埃爾米特快速傅里葉變換
- hfft(a[, n, axis, norm]) 計算具備厄米對稱性的信號的FFT,即實際頻譜。
- ihfft(a[, n, axis, norm]) 計算具備Hermitian對稱性的信號的反FFT。
輔助相關api
- fftfreq(n[, d]) 返回離散傅里葉變換採樣頻率。
- rfftfreq(n[, d]) 返回離散傅立葉變換採樣頻率(用於rfft、irfft)。
- fftshift(x[, axes]) 將零頻率份量移到頻譜的中心。
- ifftshift(x[, axes]) 反移的反義詞。
背景資料
傅立葉分析基本上是一種將函數表示爲週期性份量之和以及從這些份量中恢復函數的方法。當函數及其傅里葉變換都被離散化的對應物替換時,它被稱爲離散傅里葉變換(DFT)。DFT已經成爲數值計算的支柱,部分緣由在於它的計算速度很是快,稱爲快速傅里葉變換(FFT),高斯(1805)已知而且由Cooley以其當前形式揭示。 Tukey [CT309]。按等人。[NR309]提供了傅里葉分析及其應用的可訪問介紹。
因爲離散傅里葉變換將其輸入分離爲在離散頻率下貢獻的份量,所以它在數字信號處理中具備大量應用,例如用於濾波,而且在這種狀況下,變換的離散化輸入一般被稱爲信號。 ,存在於時域中。輸出稱爲頻譜或變換,存在於頻域中。
實施細節
定義DFT的方法有不少種,如指數變化、歸一化等。在這個實現中,DFT被定義爲
DFT通常定義爲復輸入和復輸出,線性頻率f上的單頻份量用復指數 表示,其中Δt是採樣間隔。
結果中的值遵循所謂的「標準」順序:若是A=fft(a, n)
,則A[0]
包含零頻率項(信號的和),對於實際輸入,該項老是純實的。而後A[1:n/2]
包含正頻率項,A[n/2+1:]
包含負頻率項,按負頻率遞減的順序排列。對於偶數個輸入點,A[n/2]
表示正負奈奎斯特頻率,對於實際輸入也是純實的。對於奇數個輸入點,A[(n-1)/2]
的正頻率最大,A[(n+1)/2]
的負頻率最大。方法 np.fft.fftfreq(N)
返回一個數組,給出輸出中相應元素的頻率。常規的np.fft.fftShift(A)
變換和它們的頻率將零頻率份量放在中間,np.fft.ifftShift(A)
取消這一移位。
當輸入a爲時域信號且A=FFT(A)
時,np.abs(A)
爲其幅度譜,np.abs(A)*2
爲其功率譜。相位譜由 np.angle(A)
獲得。
逆DFT定義爲
與正向變換不一樣的是,它的符號是指數型參數,默認的歸一化是1/n。
正常化
默認規範化具備未縮放的直接變換,而且逆變換按 1/n 縮放。 經過將關鍵字參數norm
設置爲"ortho"
(默認爲None)能夠得到單一變換,這樣直接變換和逆變換都將被縮放。
實變換和厄米特變換
當輸入是純實的時,它的變換是厄米變換,即fk頻率上的份量是頻率fk上份量的複共軛,這意味着對於實際輸入,負頻率份量中沒有正頻率份量不能提供的信息。rfft函數族被設計爲對實際輸入進行運算,並經過只計算正頻率份量(直到幷包括Nyquist頻率)來利用這種對稱性。所以,n個輸入點產生n/2+1
個復輸出點。這個族的逆假設它的輸入具備相同的對稱性,而且對於n個點的輸出使用n/2+1
個輸入點。
相應地,當光譜是純實的時,信號是厄密的。hfft函數族利用了這種對稱性,在輸入(時間)域中使用n/2+1
個復點做爲頻域上的n個實點。
在更高的維度上,使用FFT,例如用於圖像分析和濾波。FFT的計算效率意味着它也能夠是計算大卷積的一種更快的方法,它利用了時域卷積等效於頻域逐點乘法的特性。
更高的維度
在二維中,DFT定義爲
它以明顯的方式延伸到更高的尺寸,而更高尺寸的倒置也以相同的方式延伸。
功能的編寫
- apply_along_axis(func1d, axis, arr, *args, …) 將函數應用於沿給定軸的1-D切片。
- apply_over_axes(func, a, axes) 在多個軸上重複應用功能。
- vectorize(pyfunc[, otypes, doc, excluded, …]) 廣義函數類。
- frompyfunc(func, nin, nout) 採用任意Python函數並返回NumPy ufunc。
- piecewise(x, condlist, funclist, args, *kw) 評估分段定義的函數。
邏輯函數
真值測試
- all(a[, axis, out, keepdims]) 測試沿給定軸的全部數組元素是否都計算爲True。
- any(a[, axis, out, keepdims]) 測試給定軸上的任何數組元素是否爲True。
數組內容
- isfinite(x, /[, out, where, casting, order, …]) 測試元素的有限性(不是無窮大或不是數字)。
- isinf(x, /[, out, where, casting, order, …]) 對正或負無窮大進行元素級別測試。
- isnan(x, /[, out, where, casting, order, …]) 元素級別的爲NaN測試並將結果做爲布爾數組返回。
- isnat(x, /[, out, where, casting, order, …]) 元素級別爲NaT(不是時間)測試並將結果做爲布爾數組返回。
- isneginf(x[, out]) 元素級別測試負無窮大的元素,返回結果爲bool數組。
- isposinf(x[, out]) 元素級別測試元素爲正無窮大,返回結果爲bool數組。
數組類型測試
- iscomplex(x) 返回一個bool數組,若是輸入元素很複雜,則返回True。
- iscomplexobj(x) 檢查複雜類型或複數數組。
- isfortran(a) 若是數組是Fortran連續但不是C連續,則返回True。
- isreal(x) 返回一個bool數組,若是輸入元素是實數,則返回True。
- isrealobj(x) 若是x是非複數類型或複數數組,則返回True。
- isscalar(num) 若是num的類型是標量類型,則返回True。
邏輯運算
- logical_and(x1, x2, /[, out, where, …]) 逐個元素計算x1和x2的真值。
- logical_or(x1, x2, /[, out, where, casting, …]) 逐個元素計算x1 OR x2的真值。
- logical_not(x, /[, out, where, casting, …]) 逐個元素計算NOT x元素的真值。
- logical_xor(x1, x2, /[, out, where, …]) 逐個元素計算x1 XOR x2的真值。
比較
- allclose(a, b[, rtol, atol, equal_nan]) 若是兩個數組在容差範圍內在元素方面相等,則返回True。
- isclose(a, b[, rtol, atol, equal_nan]) 返回一個布爾數組,其中兩個數組在容差範圍內是元素相等的。
- array_equal(a1, a2) 若是兩個數組具備相同的形狀和元素,則爲真,不然爲False。
- array_equiv(a1, a2) 若是輸入數組的形狀一致且全部元素相等,則返回True。
- greater(x1, x2, /[, out, where, casting, …]) 逐個元素方式返回(x1> x2)的真值。
- greater_equal(x1, x2, /[, out, where, …]) 逐個元素方式返回(x1> = x2)的真值。
- less(x1, x2, /[, out, where, casting, …]) 逐個元素方式返回(x1<x2)的真值。< li="">
- less_equal(x1, x2, /[, out, where, casting, …]) 逐個元素方式返回(x1 =<x2)的真值。< li="">
- equal(x1, x2, /[, out, where, casting, …]) 逐個元素返回(x1 == x2)。
- not_equal(x1, x2, /[, out, where, casting, …]) 逐個元素返回 Return (x1 != x2)。
掩碼數組操做
常量
- ma.MaskType numpy.bool_ 的別名
創造
根據現有數據
- ma.masked_array numpy.ma.core.MaskedArray 的別名
- ma.array(data[, dtype, copy, order, mask, …]) 可能帶有掩碼值的數組類。
- ma.copy(self, args, *params) a.copy(order=) 返回數組的拷貝。
- ma.frombuffer(buffer[, dtype, count, offset]) 將緩衝區解釋爲一維數組。
- ma.fromfunction(function, shape, **kwargs) 經過在每一個座標上執行函數來構造數組。
- ma.MaskedArray.copy([order]) 返回數組的副本。
Ones 和 zeros 方法
- ma.empty(shape[, dtype, order]) 返回給定形狀和類型的新數組,而不初始化條目。
- ma.empty_like(a[, dtype, order, subok]) 返回一個與給定數組具備相同形狀和類型的新數組。
- ma.masked_all(shape[, dtype]) 帶全部元素的空掩碼數組。
- ma.masked_all_like(arr) 空掩碼數組,具備現有數組的屬性。
- ma.ones(shape[, dtype, order]) 返回一個給定形狀和類型的新數組,其中填充了這些數組。
- ma.zeros(shape[, dtype, order]) 返回一個給定形狀和類型的新數組,其中填充了零。
檢察數組
- ma.all(self[, axis, out, keepdims]) 若是全部元素都計算爲True,則返回True。
- ma.any(self[, axis, out, keepdims]) 若是求值的任何元素爲True,則返回True。
- ma.count(self[, axis, keepdims]) 沿給定軸計算數組的非掩碼元素。
- ma.count_masked(arr[, axis]) 計算沿給定軸的遮罩元素數。
- ma.getmask(a) 返回掩碼數組或nomask的掩碼。
- ma.getmaskarray(arr) 返回掩碼數組的掩碼,或False的完整布爾數組。
- ma.getdata(a[, subok]) 將掩碼數組的數據做爲ndarray返回。
- ma.nonzero(self) 返回非零的未屏蔽元素的索引。
- ma.shape(obj) 返回數組的形狀。
- ma.size(obj[, axis]) 返回給定軸上的元素數。
- ma.is_masked(x) 肯定輸入是否具備掩碼值。
- ma.is_mask(m) 若是m是有效的標準掩碼,則返回True。
- ma.MaskedArray.data 返回當前數據,做爲原始基礎數據的視圖。
- ma.MaskedArray.mask Mask
- ma.MaskedArray.recordmask 返回記錄的掩碼。
- ma.MaskedArray.all([axis, out, keepdims]) 若是全部元素都計算爲True,則返回True。
- ma.MaskedArray.any([axis, out, keepdims]) 果求值的任何元素爲True,則返回True。
- ma.MaskedArray.count([axis, keepdims]) 沿給定軸計算數組的非掩碼元素。
- ma.MaskedArray.nonzero() 返回非零的未屏蔽元素的索引。
- ma.shape(obj) 返回數組的形狀。
- ma.size(obj[, axis]) 返回給定軸上的元素數。
操做掩碼數組
改變形狀
- ma.ravel(self[, order]) 以視圖的形式返回Self的一維版本。
- ma.reshape(a, new_shape[, order]) 返回一個數組,該數組包含具備新形狀的相同數據。
- ma.resize(x, new_shape) 返回具備指定大小和形狀的新掩碼數組。
- ma.MaskedArray.flatten([order]) 返回摺疊成一維的數組的副本。
- ma.MaskedArray.ravel([order]) 以視圖的形式返回Self的一維版本。
- ma.MaskedArray.reshape(s, *kwargs) 給數組一個新的形狀,而不改變它的數據。
- ma.MaskedArray.resize(newshape[, refcheck, …])
修改軸
- ma.swapaxes(self, *args, …) 返回axis1和axis2互換後的數組視圖。
- ma.transpose(a[, axes]) 排列數組的大小。
- ma.MaskedArray.swapaxes(axis1, axis2) 返回axis1和axis2互換後的數組視圖。
- ma.MaskedArray.transpose(*axes) 返回已移置軸的數組視圖。
改變維數
- ma.atleast_1d(*arys) 將輸入轉換爲至少具備一維的數組。
- ma.atleast_2d(*arys) 將輸入視爲至少具備兩個維度的數組。
- ma.atleast_3d(*arys) 將輸入視爲至少具備三個維度的數組。
- ma.expand_dims(x, axis) 展開數組的形狀。
- ma.squeeze(a[, axis]) 從數組的形狀中移除一維項。
- ma.MaskedArray.squeeze([axis]) 對象的形狀中移除一維項。
- ma.column_stack(tup) 將一維數組做爲列堆棧到二維數組中.
- ma.concatenate(arrays[, axis]) 沿着給定的軸鏈接數組序列。
- ma.dstack(tup) 按序列深度排列數組(沿第三軸)。
- ma.hstack(tup) 以水平順序(列方式)將數組堆疊。
- ma.hsplit(ary, indices_or_sections) 橫向(按列)將數組拆分爲多個子數組。
- ma.mr_ 沿第一軸將切片對象轉換爲串聯。
- ma.row_stack(tup) 按順序垂直(行)排列數組。
- ma.vstack(tup) 按順序垂直(行)排列數組。
- Joining arrays
- ma.column_stack(tup) 將一維數組做爲列堆棧到二維數組中.
- ma.concatenate(arrays[, axis]) 沿着給定的軸鏈接數組序列。
- ma.append(a, b[, axis]) 將值追加到數組的末尾。
- ma.dstack(tup) 按序列深度排列數組(沿第三軸)。
- ma.hstack(tup) 以水平順序(列方式)將數組堆疊。
- ma.vstack(tup) 按順序垂直(行)排列數組。
掩碼操做
建立掩碼
- ma.make_mask(m[, copy, shrink, dtype]) 從數組建立布爾掩碼。
- ma.make_mask_none(newshape[, dtype]) 返回給定形狀的布爾掩碼,填充False。
- ma.mask_or(m1, m2[, copy, shrink]) 使用logical_or運算符組合兩個掩碼。
- ma.make_mask_descr(ndtype) 從給定的dtype構造一個dtype描述列表。
訪問掩碼
- ma.getmask(a) 返回蒙版數組或nomask的掩碼。
- ma.getmaskarray(arr) 返回掩碼數組的掩碼,或False的完整布爾數組。
- ma.masked_array.mask Mask
查找掩碼數據
- ma.flatnotmasked_contiguous(a) 沿給定軸在掩碼數組中查找連續的未屏蔽數據。
- ma.flatnotmasked_edges(a) 查找第一個和最後一個未屏蔽值的索引。
- ma.notmasked_contiguous(a[, axis]) 沿給定軸在掩碼數組中查找連續的未屏蔽數據。
- ma.notmasked_edges(a[, axis]) 查找沿軸的第一個和最後一個未屏蔽值的索引。
- ma.clump_masked(a) 返回與1-D數組的掩碼塊對應的切片列表。
- ma.clump_unmasked(a) 返回與1-D陣列的未掩蔽塊相對應的切片列表。
修改掩碼
- ma.mask_cols(a[, axis]) 屏蔽包含屏蔽值的2D數組的列。
- ma.mask_or(m1, m2[, copy, shrink]) 使用logical_or運算符組合兩個掩碼。
- ma.mask_rowcols(a[, axis]) 屏蔽包含屏蔽值的2D數組的行和/或列。
- ma.mask_rows(a[, axis]) 屏蔽包含屏蔽值的2D數組的行。
- ma.harden_mask(self) 硬化掩碼。
- ma.soften_mask(self) 軟化掩碼。
- ma.MaskedArray.harden_mask() 硬化掩碼。
- ma.MaskedArray.soften_mask() 軟化掩碼。
- ma.MaskedArray.shrink_mask() 儘量將掩碼減小到nomask。
- ma.MaskedArray.unshare_mask() 複製掩碼並將sharedmask標誌設置爲False。
轉換操做
> 轉化爲掩碼數組
- ma.asarray(a[, dtype, order]) 將輸入轉換爲給定數據類型的掩碼數組。
- ma.asanyarray(a[, dtype]) 將輸入轉換爲掩碼數組,保留子類。
- ma.fix_invalid(a[, mask, copy, fill_value]) 返回帶有無效數據的輸入,並用填充值替換。
- ma.masked_equal(x, value[, copy]) 掩蓋一個等於給定值的數組。
- ma.masked_greater(x, value[, copy]) 掩蓋大於給定值的數組。
- ma.masked_greater_equal(x, value[, copy]) 掩蓋大於或等於給定值的數組。
- ma.masked_inside(x, v1, v2[, copy]) 在給定間隔內掩蓋數組。
- ma.masked_invalid(a[, copy]) 掩蓋出現無效值的數組(NaN或infs)。
- ma.masked_less(x, value[, copy]) 掩蓋小於給定值的數組。
- ma.masked_less_equal(x, value[, copy]) 掩蓋小於或等於給定值的數組。
- ma.masked_not_equal(x, value[, copy]) 掩蓋不等於給定值的數組。
- ma.masked_object(x, value[, copy, shrink]) 掩蓋數據正好等於值的數組x。
- ma.masked_outside(x, v1, v2[, copy]) 在給定間隔以外屏蔽數組。
- ma.masked_values(x, value[, rtol, atol, …]) 掩蓋浮點數相等的數組。
- ma.masked_where(condition, a[, copy]) 掩蓋知足條件的數組。
> 轉化爲一個numpy數組
- ma.compress_cols(a) 取消包含掩碼值的二維數組的整列。
- ma.compress_rowcols(x[, axis]) 取消二維數組中包含掩碼值的行和/或列。
- ma.compress_rows(a) 取消包含掩碼值的二維數組的整行數據。
- ma.compressed(x) 以一維數組的形式返回全部非掩碼數據。
- ma.filled(a[, fill_value]) 以數組的形式返回輸入,用填充值替換掩碼數據。
- ma.MaskedArray.compressed() 以一維數組的形式返回全部非掩碼數據。
- ma.MaskedArray.filled([fill_value]) 返回Self的副本,並使用給定的值填充掩碼值。
> 轉化爲其餘對象
- ma.MaskedArray.tofile(fid[, sep, format]) 將掩碼數組保存到二進制格式的文件中。
- ma.MaskedArray.tolist([fill_value]) 以層次化Python列表的形式返回掩碼數組的數據部分。
- ma.MaskedArray.torecords() 將掩碼數組轉換爲靈活類型的數組。
- ma.MaskedArray.tobytes([fill_value, order]) 將數組數據做爲包含數組中原始字節的字符串返回。
醃製和反醃製
- ma.dump(a, F) 醃製一個掩碼數組並寫入文件
- ma.dumps(a) 返回與掩碼數組的醃製相對應的字符串。
- ma.load(F) cPickle.load的包裝器,它接受相似文件的對象或文件名。
- ma.loads(strg) 從當前字符串加載醃製後的數組。
填充掩碼數組
- ma.common_fill_value(a, b) 返回兩個掩碼數組的公共填充值(若是有的話)。
- ma.default_fill_value(obj) 返回參數對象的默認填充值。
- ma.maximum_fill_value(obj) 返回能夠由對象的dtype表示的最小值。
- ma.maximum_fill_value(obj) 返回能夠由對象的dtype表示的最小值。
- ma.set_fill_value(a, fill_value) 若是a是一個掩碼數組,則設置a的填充值。
- ma.MaskedArray.get_fill_value() 返回掩碼數組的填充值。
- ma.MaskedArray.set_fill_value([value]) 設置掩碼數組的填充值。
- ma.MaskedArray.fill_value Filling value.
掩碼數組算法
算法
- ma.anom(self[, axis, dtype]) 沿着給定的軸計算異常(與算術平均值的誤差)。
- ma.anomalies(self[, axis, dtype]) 沿着給定的軸計算異常(與算術平均值的誤差)。
- ma.average(a[, axis, weights, returned]) 返回給定軸上數組的加權平均值。
- ma.conjugate(x, /[, out, where, casting, …]) 返回複共軛元素。
- ma.corrcoef(x[, y, rowvar, bias, …]) 返回皮爾遜乘積-矩相關係數。
- ma.cov(x[, y, rowvar, bias, allow_masked, ddof]) 估計協方差矩陣。
- ma.cumsum(self[, axis, dtype, out]) 返回給定軸上數組元素的累積和。
- ma.cumprod(self[, axis, dtype, out]) 返回給定軸上數組元素的累積乘積。
- ma.mean(self[, axis, dtype, out, keepdims]) 返回沿給定軸排列的數組元素的平均值。
- ma.median(a[, axis, out, overwrite_input, …]) 沿指定軸計算中值。
- ma.power(a, b[, third]) 返回從第二個數組提高到冪的按元素劃分的基數組。
- ma.prod(self[, axis, dtype, out, keepdims]) 返回給定軸上數組元素的乘積。
- ma.std(self[, axis, dtype, out, ddof, keepdims]) 返回數組元素沿給定軸的標準差。
- ma.sum(self[, axis, dtype, out, keepdims]) 返回給定軸上數組元素的和。
- ma.var(self[, axis, dtype, out, ddof, keepdims]) 計算沿指定軸的方差。
- ma.MaskedArray.anom([axis, dtype]) 沿着給定的軸計算異常(與算術平均值的誤差)。
- ma.MaskedArray.cumprod([axis, dtype, out]) 返回給定軸上數組元素的累積乘積。
- ma.MaskedArray.cumsum([axis, dtype, out]) 返回給定軸上數組元素的累積和。
- ma.MaskedArray.mean([axis, dtype, out, keepdims]) 返回沿給定軸排列的數組元素的平均值。
- ma.MaskedArray.prod([axis, dtype, out, keepdims]) 返回給定軸上數組元素的乘積。
- ma.MaskedArray.std([axis, dtype, out, ddof, …]) 返回數組元素沿給定軸的標準差。
- ma.MaskedArray.sum([axis, dtype, out, keepdims]) 返回給定軸上數組元素的和。
- ma.MaskedArray.var([axis, dtype, out, ddof, …]) 計算沿指定軸的方差。
最小/最大
- ma.argmax(self[, axis, fill_value, out]) 返回沿給定軸的最大值的索引數組。
- ma.argmin(self[, axis, fill_value, out]) 沿着給定的軸將索引數組返回到最小值。
- ma.max(obj[, axis, out, fill_value, keepdims]) 沿着給定的軸返回最大值。
- ma.min(obj[, axis, out, fill_value, keepdims]) 沿着給定的軸返回最小值。
- ma.ptp(obj[, axis, out, fill_value]) 沿着給定的維數返回(最大值-最小值)
- ma.MaskedArray.argmax([axis, fill_value, out]) 返回沿給定軸的最大值的索引數組。
- ma.MaskedArray.argmin([axis, fill_value, out]) 沿着給定的軸將索引數組返回到最小值。
- ma.MaskedArray.max([axis, out, fill_value, …]) 沿着給定的軸返回最大值。
- ma.MaskedArray.min([axis, out, fill_value, …]) 沿着給定的軸返回最小值。
- ma.MaskedArray.ptp([axis, out, fill_value]) 沿着給定的維數返回(最大值-最小值)。
分揀
- ma.argsort(a[, axis, kind, order, endwith, …]) 返回按指定軸對數組進行排序的索引的ndarray。
- ma.sort(a[, axis, kind, order, endwith, …]) 就地對數組進行排序。
- ma.MaskedArray.argsort([axis, kind, order, …]) 返回按指定軸對數組進行排序的索引的ndarray。
- ma.MaskedArray.sort([axis, kind, order, …]) 就地對數組進行排序。
代數
- ma.diag(v[, k]) 提取對角線或構造對角線數組。
- ma.dot(a, b[, strict, out]) 返回兩個數組的點積。
- ma.identity(n[, dtype]) 返回標識數組。
- ma.inner(a, b) 兩個數組的內積。
- ma.innerproduct(a, b) 兩個數組的內積。
- ma.outer(a, b) 計算兩個向量的外積。
- ma.outerproduct(a, b) 計算兩個向量的外積。
- ma.trace(self[, offset, axis1, axis2, …]) 沿着數組的對角線返回和。
- ma.transpose(a[, axes]) 排列數組的大小。
- ma.MaskedArray.trace([offset, axis1, axis2, …]) 沿着數組的對角線返回和。
- ma.MaskedArray.transpose(*axes) 返回已移置軸的數組視圖。
多項式擬合
- ma.vander(x[, n]) 生成Vandermonde矩陣。
- ma.polyfit(x, y, deg[, rcond, full, w, cov]) 最小二乘多項式擬合
裁剪和舍入
- ma.around 將數組四捨五入到給定的小數位數。
- ma.clip(a, a_min, a_max[, out]) 剪輯(限制)數組中的值。
- ma.round(a[, decimals, out]) 返回a的副本,將其四捨五入爲「小數」位。
- ma.MaskedArray.clip([min, max, out]) 返回值限制爲[min,max]的數組。
- ma.MaskedArray.round([decimals, out]) 返回每一個元素四捨五入到給定的小數位數。
雜項
- ma.allequal(a, b[, fill_value]) 若是a和b的全部條目都相等,則返回True,使用Fill_VALUE做爲真值,其中任一項或二者都被屏蔽。
- ma.allclose(a, b[, masked_equal, rtol, atol]) 若是兩個數組在公差內按元素大小相等,則返回True。
- ma.apply_along_axis(func1d, axis, arr, …) 沿着給定的軸向一維切片應用函數.
- ma.arange([start,] stop[, step,][, dtype]) 在給定的間隔內返回均勻間隔的值。
- ma.choose(indices, choices[, out, mode]) 使用索引數組從一組選擇中構造新數組。
- ma.ediff1d(arr[, to_end, to_begin]) 計算數組中連續元素之間的差別。
- ma.indices(dimensions[, dtype]) 返回一個表示網格索引的數組。
- ma.where(condition[, x, y]) 根據條件返回包含x或y元素的掩碼數組
數學函數
三角函數
- sin(x, /[, out, where, casting, order, …]) 逐個元素運算三角正弦函數。
- cos(x, /[, out, where, casting, order, …]) 逐個元素運算三角餘弦函數。
- tan(x, /[, out, where, casting, order, …]) 逐個元素運算三角正切函數。
- arcsin(x, /[, out, where, casting, order, …]) 逐個元素運算三角反正弦函數。
- arccos(x, /[, out, where, casting, order, …]) 逐個元素運算三角反餘弦函數。
- arctan(x, /[, out, where, casting, order, …]) 逐個元素運算三角反正切函數。
- hypot(x1, x2, /[, out, where, casting, …]) 給定直角三角形的「腿」,返回它的斜邊。
- arctan2(x1, x2, /[, out, where, casting, …]) 元素弧切線x1/x2正確選擇象限。
- degrees(x, /[, out, where, casting, order, …]) 將角度從弧度轉換爲度數。
- radians(x, /[, out, where, casting, order, …]) 將角度從度數轉換爲弧度。
- unwrap(p[, discont, axis]) 經過將值之間的差值更改成2*pi補碼來展開。
- deg2rad(x, /[, out, where, casting, order, …]) 將角度從度數轉換爲弧度。
- rad2deg(x, /[, out, where, casting, order, …]) 將角度從弧度轉換爲度數。
雙曲函數
- sinh(x, /[, out, where, casting, order, …]) 逐個元素運算雙曲正弦函數。
- cosh(x, /[, out, where, casting, order, …]) 逐個元素運算雙曲餘弦函數。
- tanh(x, /[, out, where, casting, order, …]) 逐個元素運算雙曲正切函數。
- arcsinh(x, /[, out, where, casting, order, …]) 逐個元素運算逆雙曲正弦函數。
- arccosh(x, /[, out, where, casting, order, …]) 逐個元素運算逆雙曲正弦函數。
- arctanh(x, /[, out, where, casting, order, …]) 逐個元素運算逆雙曲正弦函數。
小數操做
- around(a[, decimals, out]) 按給定的小數位數均勻地四捨五入。
- round_(a[, decimals, out]) 將數組舍入到給定的小數位數。
- rint(x, /[, out, where, casting, order, …]) 將數組的元素舍入爲最接近的整數。
- fix(x[, out]) 向零舍入到最接近的整數。
- floor(x, /[, out, where, casting, order, …]) 逐個元素返回輸入的下限。
- ceil(x, /[, out, where, casting, order, …]) 逐個元素返回輸入的上限。
- trunc(x, /[, out, where, casting, order, …]) 逐個元素返回輸入的截斷值。
求總和, 求乘積, 求差別
- prod(a[, axis, dtype, out, keepdims]) 返回給定軸上的數組元素的乘積。
- sum(a[, axis, dtype, out, keepdims]) 給定軸上的數組元素的總和。
- nanprod(a[, axis, dtype, out, keepdims]) 返回給定軸上的數組元素的乘積,將非數字(NaN)視爲1。
- nansum(a[, axis, dtype, out, keepdims]) 返回給定軸上的數組元素的總和,將非數字(NaN)視爲零。
- cumprod(a[, axis, dtype, out]) 返回給定軸上元素的累積乘積。
- cumsum(a[, axis, dtype, out]) 返回給定軸上元素的累積和。
- nancumprod(a[, axis, dtype, out]) 返回給定軸上的數組元素的累積乘積,將非數字(NaN)視爲一個。
- nancumsum(a[, axis, dtype, out]) 返回給定軸上的數組元素的累積和,將非數字(NaN)視爲零。
- diff(a[, n, axis]) 計算沿給定軸的第n個離散差。
- ediff1d(ary[, to_end, to_begin]) 數組的連續元素之間的差別。
- gradient(f, varargs, *kwargs) 返回N維數組的漸變。
- cross(a, b[, axisa, axisb, axisc, axis]) 返回兩個(數組)向量的叉積。
- trapz(y[, x, dx, axis]) 沿給定的軸積分使用複合梯形規則運算。
指數和對數
- exp(x, /[, out, where, casting, order, …]) 計算輸入數組中全部元素的指數。
- expm1(x, /[, out, where, casting, order, …]) 計算數組中全部元素的exp(X)-1。
- exp2(x, /[, out, where, casting, order, …]) 爲輸入數組中的全部p計算2**p。
- log(x, /[, out, where, casting, order, …]) 逐個元素計算天然對數。
- log10(x, /[, out, where, casting, order, …]) 逐個元素計算返回輸入數組的以10爲底的對數。
- log2(x, /[, out, where, casting, order, …]) 以-2爲底的對數。
- log1p(x, /[, out, where, casting, order, …]) 逐個元素計算返回一個天然對數加上輸入數組。
- logaddexp(x1, x2, /[, out, where, casting, …]) 輸入的指數之和的對數。
- logaddexp2(x1, x2, /[, out, where, casting, …]) 以-2爲基的輸入的指數和的對數。
其餘的特殊函數
- i0(x) 修正的第一類貝塞爾函數,0階。
- sinc(x) 返回sinc函數。
浮點數操做
- signbit(x, /[, out, where, casting, order, …]) 返回元素爲True設置signbit(小於零)。
- copysign(x1, x2, /[, out, where, casting, …]) 逐個元素將x1的符號改成x2的符號。
- frexp(x[, out1, out2], / [[, out, where, …]) 將x的元素分解成尾數和TWOS指數。
- ldexp(x1, x2, /[, out, where, casting, …]) 逐個元素返回x1*2*x2。
- nextafter(x1, x2, /[, out, where, casting, …]) 逐個元素返回x1後的下一個浮點值到x2。
- spacing(x, /[, out, where, casting, order, …]) 返回x與最近鄰數之間的距離。
算術運算
- add(x1, x2, /[, out, where, casting, order, …]) 按元素添加參數。
- reciprocal(x, /[, out, where, casting, …]) 逐元素計算返回參數的倒數。
- positive(x, /[, out, where, casting, order, …]) 逐元素正數計算
- negative(x, /[, out, where, casting, order, …]) 逐元素負數計算
- multiply(x1, x2, /[, out, where, casting, …]) 逐元素參數相乘
- divide(x1, x2, /[, out, where, casting, …]) 逐元素方式返回輸入的真正除法。
- power(x1, x2, /[, out, where, casting, …]) 逐元素將第一個數組元素從第二個數組提高到冪。
- subtract(x1, x2, /[, out, where, casting, …]) 逐元素參數相減。
- true_divide(x1, x2, /[, out, where, …]) 按元素返回輸入的真實相除。
- floor_divide(x1, x2, /[, out, where, …]) 返回小於或等於輸入除法的最大整數。
- float_power(x1, x2, /[, out, where, …]) 逐元素將第一個數組元素從第二個數組提高到冪。
- fmod(x1, x2, /[, out, where, casting, …]) 返回除法的元素餘數。
- mod(x1, x2, /[, out, where, casting, order, …]) 返回除法元素的餘數。
- modf(x[, out1, out2], / [[, out, where, …]) 以元素方式返回數組的分數和整數部分。
- remainder(x1, x2, /[, out, where, casting, …]) 返回除法元素的餘數。
- divmod(x1, x2[, out1, out2], / [[, out, …]) 同時返回逐元素的商和餘數。
Handling complex numbers
- angle(z[, deg]) 返回複雜參數的角度。
- real(val) 返回複雜參數的實部。
- imag(val) 返回複雜參數的虛部。
- conj(x, /[, out, where, casting, order, …]) 以元素方式返回複共軛。
雜項
- convolve(a, v[, mode]) 返回兩個一維序列的離散線性卷積。
- clip(a, a_min, a_max[, out]) 剪輯(限制)數組中的值。
- sqrt(x, /[, out, where, casting, order, …]) 逐個元素返回數組的正平方根。
- cbrt(x, /[, out, where, casting, order, …]) 逐個元素返回數組的立方根。
- square(x, /[, out, where, casting, order, …]) 返回輸入的元素方塊。
- absolute(x, /[, out, where, casting, order, …]) 逐個元素地計算絕對值。
- fabs(x, /[, out, where, casting, order, …]) 逐個元素計算絕對值。
- sign(x, /[, out, where, casting, order, …]) 返回數字符號的元素指示。
- heaviside(x1, x2, /[, out, where, casting, …]) 計算Heaviside階躍函數。
- maximum(x1, x2, /[, out, where, casting, …]) 取數組中最大的元素。
- minimum(x1, x2, /[, out, where, casting, …]) 取數組中最小的元素。
- fmax(x1, x2, /[, out, where, casting, …]) 取數組中最大的元素。
- fmin(x1, x2, /[, out, where, casting, …]) 取數組中最小的元素。
- nan_to_num(x[, copy]) 將nan替換爲零,使用大的有限數替換inf。
- real_if_close(a[, tol]) 若是複雜輸入返回真實數組,若是複雜零件接近於零。
- interp(x, xp, fp[, left, right, period]) 一維線性插值。
矩陣庫
該模塊包含numpy
命名空間中的全部函數,如下替換函數返回matrices
而不是ndarrays
。
也在numpy命名空間和返回矩陣中的函數
- mat(data[, dtype]) 將輸入參數解釋爲矩陣。
- matrix(data[, dtype, copy]) 從類數組對象或數據字符串返回矩陣。
- asmatrix(data[, dtype]) 將輸入參數解釋爲矩陣。
- bmat(obj[, ldict, gdict]) 從字符串,嵌套序列或數組構建矩陣對象。
matlab
替代函數
- empty(shape[, dtype, order]) 返回給定形狀和類型的新矩陣,而不初始化條目。
- zeros(shape[, dtype, order]) 返回給定形狀和類型的矩陣,用零填充。
- ones(shape[, dtype, order]) 返回給定形狀和類型的矩陣,用一填充。
- eye(n[, M, k, dtype, order]) 返回一個矩陣,其中對角線爲1,零點爲零。
- identity(n[, dtype]) 返回給定大小的方形單位矩陣。
- repmat(a, m, n) 重複0-D到2-D陣列或矩陣MxN次。
- rand(*args) 返回給定形狀的隨機值矩陣。
- randn(*args) 返回包含「標準正態」分佈數據的隨機矩陣。
填充數組
- pad(array, pad_width, mode, **kwargs) 填充數組。
多項式
NumPy中的多項式可使用NumPy 1.4中引入的numpy.polynomial
包的使用方便類來建立,操做甚至擬合。
在NumPy 1.4以前,numpy.poly1d
是首選類,它仍然可用以保持向後兼容性。 可是,較新的Polynomial包比numpy.poly1d
更完整,而且它的便利類在numpy環境中表現得更好。 所以,建議使用多項式進行新的編碼。
過渡通知
Polynomial包中的各類例程都處理系列,其係數從零度向上,這是Poly1d約定的逆序。 記住這一點的簡單方法是索引對應於度,即,coef[i]是度i的項的係數。
統計學
順序統計
- amin(a[, axis, out, keepdims]) 返回數組的最小值或沿軸的最小值。
- amax(a[, axis, out, keepdims]) 返回數組的最大值或沿軸的最大值。
- nanmin(a[, axis, out, keepdims]) 返回數組的最小值或沿軸的最小值,忽略任何NAS。
- nanmax(a[, axis, out, keepdims]) 返回數組的最大值或沿軸方向的最大值,忽略任何NAS。
- ptp(a[, axis, out]) 沿軸的值的範圍(最大值-最小值)。
- percentile(a, q[, axis, out, …]) 計算數據沿指定軸的第qth百分位數。
- nanpercentile(a, q[, axis, out, …]) 在忽略NaN值的狀況下,沿着指定的軸計算數據的第qth百分位數。
平均數和差別
- median(a[, axis, out, overwrite_input, keepdims]) 沿指定軸計算中值。
- average(a[, axis, weights, returned]) 計算沿指定軸的加權平均。
- mean(a[, axis, dtype, out, keepdims]) 沿指定的軸計算算術平均值。
- std(a[, axis, dtype, out, ddof, keepdims]) 計算沿指定軸的標準誤差。
- var(a[, axis, dtype, out, ddof, keepdims]) 計算沿指定軸的方差。
- nanmedian(a[, axis, out, overwrite_input, …]) 在忽略NAS的狀況下,沿指定的軸計算中值。
- nanmean(a[, axis, dtype, out, keepdims]) 計算沿指定軸的算術平均值,忽略NAS。
- nanstd(a[, axis, dtype, out, ddof, keepdims]) 計算指定軸上的標準誤差,而忽略NAS。
- nanvar(a[, axis, dtype, out, ddof, keepdims]) 計算指定軸上的方差,同時忽略NAS。
關聯
- corrcoef(x[, y, rowvar, bias, ddof]) 返回Pearson乘積矩相關係數。
- correlate(a, v[, mode]) 返回兩個一維序列的交叉關係。
- cov(m[, y, rowvar, bias, ddof, fweights, …]) 估計協方差矩陣,給定數據和權重。
直方圖📊
- histogram(a[, bins, range, normed, weights, …]) 計算一組數據的直方圖。
- histogram2d(x, y[, bins, range, normed, weights]) 計算兩個數據樣本的二維直方圖。
- histogramdd(sample[, bins, range, normed, …]) 計算某些數據的多維直方圖。
- bincount(x[, weights, minlength]) 計算非負INT數組中每一個值出現的次數。
- digitize(x, bins[, right]) 返回輸入數組中每一個值所屬的bins的索引。
測試相關API
公共測試庫爲全部的numpy測試腳本提供測試支持。
這個單獨的模塊應該在一個位置提供numpy測試的全部經常使用功能,這樣測試腳本就能夠只導入它並當即工做。
斷言
- assert_almost_equal(actual, desired[, …]) 若是兩個項目不等於所需精度,則引起AssertionError。
- assert_approx_equal(actual, desired[, …]) 若是兩個項目不等於有效數字,則引起AssertionError。
- assert_array_almost_equal(x, y[, decimal, …]) 若是兩個對象不等於所需的精度,則引起AssertionError。
- assert_allclose(actual, desired[, rtol, …]) 若是兩個對象不等於所需的容差,則引起AssertionError。
- assert_array_almost_equal_nulp(x, y[, nulp]) 比較兩個數組的間距。
- assert_array_max_ulp(a, b[, maxulp, dtype]) 檢查全部數組項是否在「最後的位置」中最多爲N個單位。
- assert_array_equal(x, y[, err_msg, verbose]) 若是兩個數組類對象不相等,則引起AssertionError。
- assert_array_less(x, y[, err_msg, verbose]) 若是兩個類數組對象不是由小於排序的,則引起AssertionError。
- assert_equal(actual, desired[, err_msg, verbose]) 若是兩個對象不相等,則引起AssertionError。
- assert_raises(exception_class, callable, …) 失敗,除非調用參數args和關鍵字參數kwargs時調用able_class拋出類的異常。
- assert_raises_regex(exception_class, …) 失敗,除非在調用參數args和關鍵字參數kwargs時,調用able拋出與Expect_regexp匹配的異常類EXCEPTION_CLASE和WITH消息。
- assert_warns(warning_class, args, *kwargs) 除非給定的可調用對象拋出指定的警告,不然將失敗。
- assert_string_equal(actual, desired) 測試兩個字符串是否相等。
裝飾方法
- decorators.deprecated([conditional]) 運行測試套件時過濾棄用警告。
- decorators.knownfailureif(fail_condition[, msg]) 若是給定條件爲真,則使函數引起KnownFailureException異常。
- decorators.setastest([tf]) 發出嗅探信號返回此函數是不是測試函數。
- decorators.skipif(skip_condition[, msg]) 若是給定條件爲真,則使函數引起SkipTest異常。
- decorators.slow(t) 將測試標爲'slow'。
- decorate_methods(cls, decorator[, testmatch]) 將裝飾器應用於與正則表達式匹配的類中的全部方法。
運行測試
- Tester numpy.testing.nose_tools.nosetester.NoseTester別名
- run_module_suite([file_to_run, argv]) 運行測試模塊。
- rundocs([filename, raise_on_error]) 在指定的文件中找到並運行doctests。
- suppress_warnings([forwarding_rule]) 上下文管理器和裝飾器執行的操做與warnings.catch_warns大體相同。
二進制操做
單元位運算
- bitwise_and(x1, x2, /[, out, where, …]) 計算位和兩個數組的元素。
- bitwise_or(x1, x2, /[, out, where, casting, …]) 計算兩個數組元素的位或。
- bitwise_xor(x1, x2, /[, out, where, …]) 計算兩個數組元素的位異或。
- invert(x, /[, out, where, casting, order, …]) 按位計算求逆,或按位求逆,按元素計算。
- left_shift(x1, x2, /[, out, where, casting, …]) 將整數的位向左移。
- right_shift(x1, x2, /[, out, where, …]) 將整數的位向右移。
Bit位打包
- packbits(myarray[, axis]) 將二進制值數組的元素打包到uint8數組中的位中。
- unpackbits(myarray[, axis]) 將uint8數組的元素解包爲二進制值輸出數組。
輸出格式
- binary_repr(num[, width]) 將輸入數字的二進制表示形式返回爲字符串。
NumPy特別的幫助功能
尋求幫助
- lookfor(what[, module, import_modules, …]) 在docstrings上進行關鍵字搜索。
閱讀幫助
- info([object, maxwidth, output, toplevel]) 獲取函數,類或模塊的幫助信息。
- source(object[, output]) 將文件打印或寫入NumPy對象的源代碼。
窗口函數
各類窗口函數
- bartlett(M) 返回Bartlett窗口。
- blackman(M) 返回Blackman窗口。
- hamming(M) 返回Hamming窗口。
- hanning(M) 返回Hanning窗口。
- kaiser(M, beta) 返回Kaiser窗口。
可選的Scipy加速支持
能夠經過Scipy加速的函數的別名。
能夠構建Scipy以使用加速或其餘改進的庫來進行FFT,線性代數和特殊函數。 此模塊容許開發人員在scipy可用時透明地支持這些加速功能,但仍支持僅安裝了NumPy的用戶
線性代數
- cholesky(a) Cholesky分解。
- det(a) 計算數組的行列式。
- eig(a) 計算正方形陣列的特徵值和右特徵向量。
- eigh(a[, UPLO]) 返回Hermitian或對稱矩陣的特徵值和特徵向量。
- eigvals(a) 計算通常矩陣的特徵值。
- eigvalsh(a[, UPLO]) 計算Hermitian或實對稱矩陣的特徵值。
- inv(a) 計算矩陣的(乘法)逆。
- lstsq(a, b[, rcond]) 將最小二乘解返回到線性矩陣方程。
- norm(x[, ord, axis, keepdims]) 矩陣或矢量規範。
- pinv(a[, rcond]) 計算矩陣的(Moore-Penrose)僞逆。
- solve(a, b) 求解線性矩陣方程或線性標量方程組。
- svd(a[, full_matrices, compute_uv]) 奇異值分解。
FFT
- fft(a[, n, axis, norm]) 計算一維離散傅立葉變換。
- fft2(a[, s, axes, norm]) 計算二維離散傅立葉變換。
- fftn(a[, s, axes, norm]) 計算N維離散傅立葉變換。
- ifft(a[, n, axis, norm]) 計算一維離散傅里葉逆變換。
- ifft2(a[, s, axes, norm]) 計算二維逆離散傅立葉變換。
- ifftn(a[, s, axes, norm]) 計算N維逆離散傅立葉變換。
Other
C-Types外部功能接口
numpy.ctypeslib.as_array
(obj, shape=None) source
從ctypes數組或ctypes POINTER建立一個numpy數組。 numpy數組與ctypes對象共享內存。
若是從ctypes POINTER轉換,則必須給出size參數。 若是從ctypes數組轉換,則忽略size參數
-
numpy.ctypeslib.as_ctypes
(obj) source
從numpy數組建立並返回ctypes對象。 實際上接受了暴露array_interface的任何東西。
-
numpy.ctypeslib.ctypes_load_library
(args, *kwds) source
不推薦使用ctypes_load_library
,而是使用load_library
!
可使用 lib = ctypes.cdll [<full_path_name>]加載庫
可是存在跨平臺的考慮因素,例如庫文件擴展,以及Windows將只加載它找到的具備該名稱的第一個庫。 爲方便起見,NumPy提供load_library函數。
-
Parameters:
- libname : str
庫的名稱,能夠將「lib」做爲前綴,但不帶擴展名。
- loader_path : str
提供這個庫的路徑
-
Returns:
- ctypes.cdll[libpath] : library object
一個ctypes庫對象
-
Raises:
- OSError
若是沒有具備預期擴展名的庫,或者庫有缺陷且沒法加載。
-
numpy.ctypeslib.load_library
(libname, loader_path) source
可使用>>> lib = ctypes.cdll [<full_path_name>]加載庫
可是存在跨平臺的考慮因素,例如庫文件擴展,以及Windows將只加載它找到的具備該名稱的第一個庫。 爲方便起見,NumPy提供load_library函數。
-
Parameters:
- libname : str
庫的名稱,能夠將「lib」做爲前綴,但不帶擴展名。
- loader_path : str
提供這個庫的路徑
-
Returns:
- ctypes.cdll[libpath] : library object
一個ctypes庫對象
-
Raises:
- OSError
若是沒有具備預期擴展名的庫,或者庫有缺陷且沒法加載。
-
numpy.ctypeslib.ndpointer
(dtype=None, ndim=None, shape=None, flags=None) source
數組檢查restype / argtypes。
ndpointer實例用於描述restypes和argtypes規範中的ndarray。 這種方法比使用「POINTER(c_double)」更靈活,由於能夠指定幾個限制,這些限制在調用ctypes函數時獲得驗證。 這些包括數據類型,維度數量,形狀和標誌。 若是給定的數組不知足指定的限制,則引起「TypeError」。
-
Parameters:
- dtype : 數據類型,可選
數組數據類型
- ndim : int, 可選
數組維數。
- shape : 整數元組,可選
陣列形狀。
- flags : str的str或tuple
- 數組標誌; 多是如下一種或多種:
- C_CONTIGUOUS / C / CONTIGUOUS
- F_CONTIGUOUS / F / FORTRAN
- OWNDATA / O
- WRITEABLE / W
- ALIGNED / A
- WRITEBACKIFCOPY / X
- UPDATEIFCOPY / U
-
Returns:
- klass : ndpointer類型對象
一個類型對象,它是一個包含dtype,ndim,shape和flags信息的_ndtpr實例。
-
Raises:
- TypeError
若是給定的數組不知足指定的限制。
雜項API
Buffer 對象
- getbuffer (獲取buffer)
- newbuffer (新建buffer)
性能調優
- setbufsize(size) 設置ufunc中使用的緩衝區的大小。
- getbufsize() 返回ufunc中使用的緩衝區的大小。
內存範圍
- shares_memory(a, b[, max_work]) 肯定兩個數組是否共享內存
- may_share_memory(a, b[, max_work]) 肯定兩個數組是否能夠共享內存
數組混合器
- lib.mixins.NDArrayOperatorsMixin Mixin使用 array_ufunc 定義全部運算符特殊方法。
NumPy版本比較
- lib.NumpyVersion(vstring) 解析並比較numpy版本字符串。
#