0
好吧,所以我已經用Python包裝了一個C庫並調用了相應的DLL。然後我創建了一個打印出所有數據點的for循環。 這裏是我的代碼的小樣本,我已經包裹庫:for循環值到一個numpy數組
import ctypes
from ctypes import *
class ParmData(Union):
_fields_ = [
('c', ctypes.POINTER(ctypes.c_ubyte)),
('f', ctypes.POINTER(ctypes.c_float))]
class SParm(Structure):
pass
SParm._fields_ = [
('data', ctypes.POINTER(ParmData)),
('time', ctypes.POINTER(ctypes.c_float))]
dll.readSParm.argtypes = (POINTER(SFile), c_char_p, c_double, c_double, c_double, POINTER(TTag), c_ushort,)
dll.readSParm.restype = POINTER(SParm)
g = dll.readSParm(SF, ParmName, startTime, stopTime, Null, None, convertType)
dll.freeSParm(g)
這是for循環,我在Python創建:
for i in range(0, 50000):
print(i, (g[0].data[0].f[i]), (g[0].time[i]))
凡
(g[0].data[0].f)
(g[0].time)
是指向包含所有數據的對象的指針。
for循環這個樣子的第二列的結果是數據,三是該數據對應的時間價值:
2 -4864024.0 -1027.21630859375
3 5.114739e-43 -1026.21630859375
4 2.840103e-37 -1025.21630859375
5 2.250064e-38 -1024.21630859375
我的問題是這樣的:
哪有我將這些數據變成一個numpy數組?因爲我有這麼多的數據點,我不能在把它全
這工作,謝謝。好奇你爲什麼認爲它很髒? –