def conv(x:str):
if b'.' in x: # if the number has a . in it
v= int(1e6*float(x)) # treat column zero as floating point seconds and convert to int us
else:
v= int(x) # otherwise convert the str to int
conv.event_counter+=1
if conv.event_counter%1000000==0:
print('.',end='')
return v
conv.event_counter=0 # define function static variable after function, put it in function
events = np.loadtxt(events_path, dtype=np.int64,converters=conv)
1条答案
按热度按时间brgchamk1#
我通过使用向loadtxt添加自定义转换器的功能解决了这个问题。打印a。来安慰每一百万件物品。
一个小实验表明,这种函数方法比使用lambda函数的dict快得多,每个列一个函数。