Я разрабатываю алгоритм для анализа биологических данных для лаборатории, в которой я работаю, но я чувствую себя застрявшим в какой-то момент. Идея состоит в том, чтобы сравнить несколько событий, содержащих данные одного и того же типа, из одного файла csv
.
Я фильтрую список списков в зависимости от одного из значений в элементе в sublist
(которые также являются списком длины 3), я не знаю, сколько sublist
s составляют мой основной список ни их длины (тысяч), но я хочу удалить i
-й элемент во всех них. (У меня есть список индекса)
Пример может быть более объяснительным.
Вот мой список списков списка (с известной длиной), мой "список индексов"
mainlist=[[[a,1,1,5],[b,2,1,50],[c,3,1,5]],[[alph,1,2,5],[bet,2,2,50],[gam,3,2,5]]]
indextodelete=[1] (where the 4rth element is > 10)
Я пытаюсь получить следующий вывод
out=[[[a,1,1],[c,3,1]],[[alph,1,2],[gam,3,2]]]
Я не очень привык к numpy
или pandas
.
Я попытался использовать pop()
, или перевернул свои списки, потому что у меня есть много элементов для удаления, и у меня уже есть мой индексный список. Здесь npa
- мой основной список, а pval
- порог, заданный пользователем.
for i,l in enumerate(npa):
for l,k in reversed(list(enumerate(l))):
if float(k)>float(pval):
npa[0:len(npa)][l].pop()