我对python还很陌生,我的任务是从大型二进制文件中提取观测数据(这个文件是470M,但它们可以更大)。你知道吗
我的问题是文件中的数据结构意味着我需要先读取一个元素,然后才能确定读取下一组元素的次数。我目前正在使用循环和调用numpy.fromfile文件()很多,这是我代码中最慢的部分,占用了~5秒运行时的大部分时间。我的任务是把时间控制在1秒以下!你知道吗
文件结构如下,数据类型各不相同:
快照计数(N)
网格点数(G)
我目前正在为上面的第2部分做这件事:其中dtype只是所使用的特定dtype的替代品。你知道吗
data = {}
data['Grid_Point_counter'] = numpy.fromfile(file,dtype2,1)
number_gridpoints = data['Grid_Point_counter'][0]
if number_gridpoints > 0
gridpoint_data = []
for gridpoint in range(0,number_gridpoints)
grdpt_data = numpy.fromfile(file,dtype3,1)
number_bt_data = grdpt_data[0][-1]
if number_bt_data > 0:
bt_data_block = numpy.fromfile(data_loc,dtype4, num_bt_data)
gridpoint_data.append([gpt_data, bt_data_block])
data['Grid_Point_Data'] = gridpoint_data
如果你们当中任何一个知识渊博的人都能帮上忙,那就太好了!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐