Как «удалить» массив numpy из списка массивов numpy?

Вы можете сделать следующее:

TimeSpan duration = b - a;

В классе времени есть много встроенных методов, чтобы сделать то, что вам нужно, то есть

duration.TotalSeconds
duration.TotalMinutes

Дополнительная информация может быть здесь .

11
задан matt_s 26 August 2014 в 13:34
поделиться

2 ответа

Проблема в том, что при сравнении двух массивов numpy с ==, как в методах remove () и index (), получается массив логических значений numpy (сравнение элементов) возвращается, что интерпретируется как неоднозначное. Хороший способ сравнить два массива numpy на равенство - использовать функцию numpy array_equal ().

Поскольку метод списков remove () не имеет ключевого аргумента (как у sort ()), я думаю, что для этого вам нужно создать свою собственную функцию. Вот один, который я сделал:

def removearray(L,arr):
    ind = 0
    size = len(L)
    while ind != size and not np.array_equal(L[ind],arr):
        ind += 1
    if ind != size:
        L.pop(ind)
    else:
        raise ValueError('array not found in list.')

Если вам нужно, чтобы он был быстрее, вы можете его Cython-ize.

11
ответ дан 3 December 2019 в 08:02
поделиться

Итак:

list.pop(1)

Обновление:

list.pop(list.index(element))

Я не думаю, что вы можете обойти список, чтобы найти позицию элемента. Не беспокойся об этом. Python по умолчанию будет использовать хороший алгоритм поиска, чтобы найти его с наименьшими затратами для вас.

4
ответ дан 3 December 2019 в 08:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: