Numpy之結構陣列與陣列持久化

2022-08-29 21:54:25 字數 858 閱讀 7700

在numpy中可能會用到類似c語言中的結構體,numpy中定義結構陣列的方法也比較簡單:

1

import

numpy as np

2 person = np.dtype()

3 p = np.arrary([("

zhang

", 32, 75.5), ("

wang

", 25, '

60.5

')], dtype=person)

字典有兩個關鍵字:names,formats,這是必須的。names定義結構體中每個欄位名,而formats則對各個欄位的資料格式進行了說明:

s32:32個位元組的字串

i:32 的int型別,np.int32

f:32位的單精度浮點型別,np.float32

訪問方式使用下標訪問,陣列記憶體共享。

1

p[0]

2 ('

zhang

', 32, 75.5)

34 p[0]["

name"]

5'zhang

'

將資料儲存至檔案,可以使用tofile()方法,讀取可以使用fromfile()方法:

1 p.tofile("

d:\\test.bin")

2 b = np.fromfile("

d:\\test.bin

", dtype=person) #

需要註明資料型別

3 c = np.matrix(b) #

通過陣列建立矩陣

numpy中結構陣列

在c語言中,我們可以使用關鍵字struct定義結構型別。和c語言一樣,numpy也可以建立結構定義,這樣可以很方便的讀取二進位制的c語言結構陣列,將其轉換為numpy陣列物件,假設我們定義的結構陣列如下 c語言描述 struct person 我們在python中可以自定義型別如下 personty...

python OpenCV之numpy陣列操作

1.的表示與儲存 以矩陣的形式存在電腦裡,需要用到陣列操作來完成對影象的處理。np.ones size 可以建立任意維度的陣列,各個元素值均為1 23 np.zeros size,dtype 同上,但各個元素值為0.預設元素型別為浮點數使用示例 img np.zeros 256 256,3 np.u...

numpy之陣列運算

陣列之邏輯運算 可以直接對陣列進行邏輯判斷,會返回相應的bool型別陣列 通用判斷函式 三元運算子 陣列之統計運算陣列與數之間的運算 會作用到陣列中的每乙個元素上。陣列與陣列之間的運算 廣播機制 陣列在進行向量化運算時,要求陣列的形狀是相等的。當形狀不相等的陣列執行算術運算的時候,就會出現廣播機制,...