本文簡要介紹 python 語言中 numpy.recarray
的用法。
用法:
class numpy.recarray(shape, dtype=None, buf=None, offset=0, strides=None, formats=None, names=None, titles=None, byteorder=None, aligned=False, order='C')
構造一個允許使用屬性進行字段訪問的 ndarray。
數組可能具有包含字段的數據類型,類似於電子表格中的列。一個示例是
[(x, int), (y, float)]
,其中數組中的每個條目都是一對(int, float)
。通常,這些屬性是使用字典查找來訪問的,例如arr['x']
和arr['y']
。記錄數組允許使用arr.x
和arr.y
將字段作為數組成員訪問。- shape: 元組
輸出數組的形狀。
- dtype: 數據類型,可選
所需的數據類型。默認情況下,數據類型由格式、名稱、標題、對齊和字節順序確定。
- formats: 數據類型列表,可選
包含不同列的數據類型的列表,例如
['i4', 'f8', 'i4']
.格式做不是支持直接使用類型的新約定,即(int, float, int)
.注意格式必須是列表,而不是元組。鑒於格式有點有限,我們建議指定numpy.dtype反而。- names: str 的元組,可選
每列的名稱,例如
('x', 'y', 'z')
。- buf: 緩衝區,可選
默認情況下,會創建給定形狀和數據類型的新數組。如果緩衝區被指定並且是一個公開緩衝區接口的對象,該數組將使用現有緩衝區中的內存。在這種情況下,抵消和numpy.recarray.strides關鍵字可用。
- rec: 重新排列
給定形狀和類型的空數組。
- titles: str 的元組,可選
列名的別名。例如,如果名字是
('x', 'y', 'z')
和標題是('x_coordinate', 'y_coordinate', 'z_coordinate')
, 然後arr['x']
相當於兩者arr.x
和arr.x_coordinate
.- byteorder: {‘<’, ‘>’, ‘=’}, 可選
所有字段的字節順序。
- aligned: 布爾型,可選
像 C-compiler 那樣對齊內存中的字段。
- strides: 整數元組,可選
緩衝區(buf)根據這些步幅進行解釋(步幅定義了每個數組元素、行、列等在內存中占用的字節數)。
- offset: 整數,可選
從此偏移開始讀取緩衝區 (buf)。
- order: {‘C’, ‘F’},可選
行優先(C 風格)或列優先(Fortran-style)順序。
參數:
返回:
其他參數:
注意:
此構造函數可以與
empty
進行比較:它創建一個新的記錄數組,但不填充數據。要從數據創建記錄數組,請使用以下方法之一:使用
arr.view(np.recarray)
創建標準 ndarray 並將其轉換為記錄數組使用 buf 關鍵字。
采用np.rec.fromrecords.
例子:
創建一個包含兩個字段
x
和y
的數組:>>> x = np.array([(1.0, 2), (3.0, 4)], dtype=[('x', '<f8'), ('y', '<i8')]) >>> x array([(1., 2), (3., 4)], dtype=[('x', '<f8'), ('y', '<i8')])
>>> x['x'] array([1., 3.])
將數組視為記錄數組:
>>> x = x.view(np.recarray)
>>> x.x array([1., 3.])
>>> x.y array([2, 4])
創建一個新的空記錄數組:
>>> np.recarray((2,), ... dtype=[('x', int), ('y', float), ('z', int)]) rec.array([(-1073741821, 1.2249118382103472e-301, 24547520), (3471280, 1.2134086255804012e-316, 0)], dtype=[('x', '<i4'), ('y', '<f8'), ('z', '<i4')])
- numpy.recarray.T
轉置數組。
- numpy.recarray.base
如果內存來自其他對象,則為基礎對象。
- numpy.recarray.ctypes
一個用於簡化數組與 ctypes 模塊交互的對象。
data
指向數組數據開頭的 Python 緩衝區對象。
- numpy.dtype
數組元素的數據類型。
flags
有關陣列的內存布局的信息。
- numpy.recarray.flat
數組上的一維迭代器。
- numpy.imag
數組的虛部。
- numpy.recarray.itemsize
一個數組元素的長度(以字節為單位)。
- numpy.recarray.nbytes
數組元素消耗的總字節數。
- numpy.recarray.ndim
數組維數。
- numpy.real
數組的實部。
- numpy.shape
數組維度的元組。
- numpy.recarray.size
數組中的元素數。
- numpy.recarray.strides
遍曆數組時要在每個維度中步進的字節元組。
屬性:
相關用法
- Python numpy recarray.dot用法及代碼示例
- Python numpy recarray.itemset用法及代碼示例
- Python numpy recarray.view用法及代碼示例
- Python numpy recarray.tolist用法及代碼示例
- Python numpy recarray.setflags用法及代碼示例
- Python numpy recarray.flat用法及代碼示例
- Python numpy recarray.sort用法及代碼示例
- Python numpy recarray.astype用法及代碼示例
- Python numpy recarray.itemsize用法及代碼示例
- Python numpy recarray.tostring用法及代碼示例
- Python numpy recarray.flatten用法及代碼示例
- Python numpy recarray.item用法及代碼示例
- Python numpy recarray.getfield用法及代碼示例
- Python numpy recarray.ndim用法及代碼示例
- Python numpy recarray.byteswap用法及代碼示例
- Python numpy recarray.size用法及代碼示例
- Python numpy recarray.T用法及代碼示例
- Python numpy recarray.nbytes用法及代碼示例
- Python numpy recarray.fill用法及代碼示例
- Python numpy recarray.strides用法及代碼示例
- Python numpy recarray.resize用法及代碼示例
- Python numpy recarray.copy用法及代碼示例
- Python numpy recarray.newbyteorder用法及代碼示例
- Python numpy recarray.transpose用法及代碼示例
- Python numpy recarray.partition用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.recarray。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。