#python-3.x #numpy #quantile
#python-3.x #numpy #квантиль
Вопрос:
В настоящее время я пытаюсь применить обрезку квантилей к сейсмическим данным, используя segyio для доступа к данным трассировки и Numpy для выполнения обработки данных. Я написал следующие функции:
def clip(file,value):
traces = file.trace
for i,_ in enumerate(traces):
traces[i] = np.where(traces[i]>value,value,traces[i])
traces[i] = np.where(traces[i]<-value,-value,traces[i])
и
def qclip(file,value):
data = np.array([i for i in file.trace ])
clipval = np.quantile(np.abs(data),value)
clip(file,clipval)
qclip принимает открытый файл segyio и значение в [0,1], чтобы применить обрезку квантилей к трассам.
Это работает, но применяемое значение отсечения сильно отличается от значения, которое я получаю из сейсмического Unix, используя:
sugain < infile qclip=value > outfile
вот реализация sugain qclip.
Ответ №1:
Попробуйте np.percentile вместо np.quantile