Проблемы с поиском определенного элемента c в списке в python - PullRequest
0 голосов
/ 20 февраля 2020

Сначала извините за длину объяснения.

У меня проблема с моим кодом, у меня есть список вроде:

list [a] [b] [c ]

В котором:

  1. В первой позиции [a] хранятся адреса моих файлов
  2. Во второй позиции [ b] мои значения данных из столбцов моих файлов хранятся (глубина, время, GR, NPHI, ...)
  3. В третьей позиции [c] значения каждой строки столбцы моих данных в поле [b] сохраняются.

Мне нужно найти определенные значения c в моих данных и связать их со значениями в другом столбце.

Пример:

  • В данных первого файла [a] = [0]
  • Поиск GR = 37.1451
  • Узнайте, какая DEPTH соответствует этому значению GR.
  • Затем сохраните эту глубину в списке, который позже будет использоваться для других операций.

Программа анализирует с Некоторые файлы .LAS, и я никак не могу их изменить, поскольку это будет в домене publi c для университета

Я пытался использовать: ArquivosLas[0][1].index(37.1451), но в качестве первого список - это файл, который не работает

В [129]: тип (ArchivesLas [0])

Вне [129]: lasio.las.LASFile

В [132]: тип (ArquivosLas 1 )

Out [132]: numpy .ndarray

В [133]: тип (ArquivosLas 1 1 )

Out [133]: numpy .float64

Я думал о сохранении числовых данных из исходного списка - вторая [b] и третья [c] позиции в другом векторе, таким образом удаляя позицию [a] и превращая новый список в массив только чисел.

Я прилагаю код, который использовал, и фотографию о том, как данные

Спасибо за терпение

'' 'от tkinter import * от 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()

Заполните список с помощью файлы и читать их, сохраняя их в другом списке

for i in EnderecoArquivosLas:
    ArquivosLas.append(lasio.read(EnderecoArquivosLas[x],ignore_header_errors=True))
    x = x + 1

Поиск позиции спецификаций c значений

PosicaoGrTopo = ArquivosLas[0][1].index(37.1451)

'' '

data

...