Проблемы с поиском определенного элемента в списке в Python
Во-первых, извините за длину объяснения.
У меня проблема с кодом, у меня есть список вроде:
список [a] [b] [c]
В котором:
- В первой позиции [a] хранятся адреса моих файлов
- Во второй позиции [b] хранятся мои значения данных â € ‹â €‹ из столбцов моих файлов (глубина, время, GR, NPHI, ...)
- В третьей позиции [c] хранятся значения каждой строки столбцов моих данных в поле [b].
Мне нужно найти определенные значения в моих данных и связать их со значениями в другом столбце.
Пример:
- В данных первого файла [a] = [0]
- Поиск GR = 37.1451
- Узнайте, какая ГЛУБИНА соответствует этому значению GR.
- Затем сохраните эту глубину в списке, который позже будет использоваться для других операций.
Программа анализирует несколько файлов.LAS, и я не могу их изменить, поскольку они будут в открытом доступе для университета.
Я пробовал использовать: ArquivosLas[0][1].index(37.1451)
, но поскольку первый список представляет собой файл, это не работает
В [129]: введите (ArchivesLas [0])
Выход [129]: lasio.las.LASFile
В [132]: введите (ArquivosLas 1)
Выход [132]: numpy.ndarray
В [133]: введите (ArquivosLas 1 1)
Выход [133]: numpy.float64
Я подумал о сохранении числовых данных из исходного списка - вторая [b] и третья [c] позиции в другом векторе, таким образом удалив позицию [a] и превратив новый список только в массив чисел.
Прилагаю код, который использовал, и фото того, как данные
Спасибо за терпение
from tkinter import *
from tkinter import filedialog
import lasio
import numpy as np
EnderecoArquivosLas = list()
ArquivosLas = list()
DadosLas = list()
ProfundidadeTopo = list()
x = 0
root = Tk()
root.title('Seleção banco de dados')
EnderecoArquivosLas = filedialog.askopenfilenames(parent=root, title="Selecione os arquivos com banco de dados", filetypes=(("las files", "*.las"),("all files", "*.*")))
root.splitlist(EnderecoArquivosLas)
root.mainloop()
#Fill the list with the files and read them, saving them in another list
for i in EnderecoArquivosLas:
ArquivosLas.append(lasio.read(EnderecoArquivosLas[x],ignore_header_errors=True))
x = x + 1
#Search for the position of specific values
PosicaoGrTopo = ArquivosLas[0][1].index(37.1451)
https://stackru.com//images/86e20c79c1df605199135a7dd64dca62c5e792ef.png