NumPy基礎 結構化陣列 三

2021-10-22 15:16:22 字數 2004 閱讀 3178

作為乙個可選的便利,numpy提供了ndarray子類,該子類允許按屬性而不是僅按索引訪問結構化陣列的字段。記錄陣列使用特殊的資料型別,該資料型別允許按屬性訪問從陣列獲得的結構化標量上的字段。numpy.rec模組提供了從各種物件建立recarrays的函式。

建立記錄陣列最簡答的方法是使用numpy.rec.array:

numpy.rec.array可以將各種引數轉換為記錄陣列,包括結構化陣列:

可以使用適當的檢視獲取結構化陣列的記錄陣列例如:

為了方便起見,將ndarray作為型別檢視numpy,recarray將自動轉換為numpy.record資料型別,因此可以將dtype排除在檢視之外:

要返回普通的ndarray,必須同時重置dtype和type。如果記錄器不是結構化型別的異常情況,我們可以這麼做:

如果字段具有結構化型別,則通過索引或屬性訪問的記錄陣列字段返回記錄陣列,否則返回為普通的ndarray。

如果欄位與ndarray屬性具有相同的名稱,則ndarray屬性具有優先權,此類字段無法通過屬性訪問,但仍然可以通過索引訪問。

用於操作結構化陣列的實用程式。

將新字段新增到現有陣列

欄位的名稱由名稱引數給出,對應的值由資料引數給出,如果附加了單個字段,則name、data和dtypes不必是列表,而只需是值。

應用功能『func』 作為結構化陣列中各個欄位的簡化

這類似於沿軸應用,但將結構化陣列的字段視為額外的軸。首先將所有欄位都按照型別提公升規則換換為通用型別。然後再應用於字段的dtype。示例:

通過欄位名稱將值從乙個結構化陣列分配給另乙個

通常,將乙個結構化陣列分配給另乙個「按位置」複製字段,這意味著src中的第乙個欄位將被複製到dst的第乙個字段,依此類推,與欄位名稱無關。

相反,此函式按欄位名進行複製,這樣dst中的字段就從src中同名的字段進行分配,這將遞迴地應用於巢狀結構

沿著給定鍵在結構化陣列中查詢重複項

展平結構化資料型別描述

返回乙個字典,其中的字段索引了其父欄位的列表

此功能用於簡化對巢狀在其它欄位中的字段的訪問

以元組形式返回輸入資料型別的欄位名稱

以元組形式返回輸入資料型別的欄位名稱,巢狀的結構預先被扁平化

如果你想學習pyhton,但是找不到學習路徑和資源,歡迎來指尖程式設計。

指尖程式設計第二屆程式設計賽也快開始啦!趕快上指尖程式設計報名贏取好禮!

結構化 半結構化和非結構化資料

在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis,mangodb rdbms關聯式資料庫 oracle,mysql等 還有一些其它的資料庫如hbase,在這些資料庫中,又會出現結構化資料,非結構化資料,半結構化資料,下面列出各種資料型別 結構化資料 ...

結構化 半結構化和非結構化資料

在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis。mangodb rdbms關聯式資料庫 oracle,mysql等 另一些其他的資料庫如hbase,在這些資料庫中。又會出現結構化資料。非結構化資料。半結構化資料,以下列出各種資料型別 結構化資料 可...

結構化 半結構化和非結構化問題

結構化程度 是指對某一決策問題的決策過程 決策環境和規律,能否用明確的語言 數學的或邏輯學的 形式的或非形式的 定量的或定性的 給予說明或描述清晰程度或準確程度。按照決策問題的結構化程度不同把決策問題分成結構化問題 半結構化問題和非結構化問題三種型別。1 結構化決策問題 結構化決策問題相對比較簡單 ...