有没有办法将一行追加到NumPy rec.array()?例如,
x1=np.array([1,2,3,4])
x2=np.array(['a','dd','xyz','12'])
x3=np.array([1.1,2,3,4])
r = np.core.records.fromarrays([x1,x2,x3],names='a,b,c')
append(r,(5,'cc',43.0),axis=0)
Run Code Online (Sandbox Code Playgroud)
最简单的方法是将所有列提取为nd.array()类型,将单独的元素添加到每个列,然后重建rec.array().遗憾的是,这种方法效率低下.有没有另外的方法来分离重建rec.array()?
干杯,
礼
我相信我使用numpy数组会遇到内存问题.以下代码正在运行数小时:
new_data = npy.array([new_x, new_y1, new_y2, new_y3])
private.data = npy.row_stack([private.data, new_data])
Run Code Online (Sandbox Code Playgroud)
其中new_x,new_y1,new_y2,new_y3是浮点数.
在每秒记录这些数据大约5个小时(超过72000个浮点数)后,程序变得没有响应.我认为正在发生的是某种realloc和复制操作正在淹没这个过程.有谁知道这是发生了什么?
我需要一种方法来记录这些数据,而不会遇到这种减速问题.事先没有办法知道这个数组的大小.它不一定需要使用numpy数组,但它需要类似的东西.有谁知道一个好方法?