當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy recarray用法及代碼示例


本文簡要介紹 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.xarr.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.xarr.x_coordinate.

byteorder {‘<’, ‘>’, ‘=’}, 可選

所有字段的字節順序。

aligned 布爾型,可選

像 C-compiler 那樣對齊內存中的字段。

strides 整數元組,可選

緩衝區(buf)根據這些步幅進行解釋(步幅定義了每個數組元素、行、列等在內存中占用的字節數)。

offset 整數,可選

從此偏移開始讀取緩衝區 (buf)。

order {‘C’, ‘F’},可選

行優先(C 風格)或列優先(Fortran-style)順序。

注意

此構造函數可以與 empty 進行比較:它創建一個新的記錄數組,但不填充數據。要從數據創建記錄數組,請使用以下方法之一:

  1. 使用 arr.view(np.recarray) 創建標準 ndarray 並將其轉換為記錄數組

  2. 使用 buf 關鍵字。

  3. 采用np.rec.fromrecords.

例子

創建一個包含兩個字段 xy 的數組:

>>> 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

遍曆數組時要在每個維度中步進的字節元組。

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.recarray。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。