Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #по каждой каротажке получаем интервалы где есть измерение (начало исследования, и длина непрерывной записи)
- def get_measured_intervals(well_logs, mnimonic, depth_key):
- ints = []
- pair = []
- nan = 'nan'#'-9999.0'#'nan'
- col = np.array(well_logs[mnimonic], dtype = np.float64)
- dep = np.array(well_logs[depth_key], dtype = np.float64)
- if(col[~np.isnan(col)].shape[0] == col.shape[0]):
- a = col[0]
- pair.append(a)
- b = dep[-1]
- pair.append(b-a)
- ints.append(tuple(pair))
- pair = []
- elif (col[0].astype(str) == nan):
- for i in range(well_logs.shape[0]-1):
- if(col[i].astype(str) == nan and col[i+1].astype(str) != nan):#i+1 начало интервала
- a = dep[i+1]
- pair.append(a)
- elif(col[i].astype(str) != nan and col[i+1].astype(str) == nan):#i конец интервала
- b = dep[i]
- pair.append(b-a)
- ints.append(tuple(pair))
- pair = []
- #добавил
- elif(col[i].astype(str) != nan and col[i+1].astype(str) != nan and i == well_logs.shape[0]-2):#i конец интервала
- b = dep[i]
- pair.append(b-a)
- ints.append(tuple(pair))
- pair = []
- elif(col[0].astype(str) != nan):
- a = dep[0]
- pair.append(a)
- for i in range(1, well_logs.shape[0]-1):
- if(col[i].astype(str) != nan and col[i+1].astype(str) == nan):#i конец интервала
- b = dep[i]
- pair.append(b-a)
- ints.append(tuple(pair))
- pair = []
- elif(col[i].astype(str) != nan and col[i+1].astype(str) != nan and i == well_logs.shape[0]-2):#i конец интервала
- b = dep[i]
- pair.append(b-a)
- ints.append(tuple(pair))
- pair = []
- elif(col[i].astype(str) == nan and col[i+1].astype(str) != nan):
- a = dep[i+1]
- pair.append(a)
- return(ints)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement