la=np.vectorize(location_accuracy_i,otypes='f')(df.iloc[:,0],df.iloc[:,1])#last minute tweak so that is does no fail on nans!
returnla
deflongitude_360to180(self,ds):
lon=np.vectorize(longitude_360to180_i)(ds)
returnlon
defobserving_programme(self,ds):
op={str(i):[5,7,56]foriinrange(0,6)}
op.update({'7':[5,7,9]})
returnds.map(op,na_action='ignore')
# Previous version:
#observing_programmes = { range(1, 5): '{7, 56}',7: '{5,7,9}'} see how to do a beautifull range dict in the future. Does not seem to be straighforward....
# if no PT, assume ship
# !!!! set only for drifting buoys. Rest assumed ships!
#return df[df.columns[0]].swifter.apply( lambda x: '{5,7,9}' if x == 7 else '{7,56}')