Articles of segmento de

Eliminar todos los elementos en una matriz correspondiente a la máscara booleana

Tengo una máscara booleana que existe como una matriz numpy 2-D (matriz booleana) array([[ True, True, True, True, True, True, True], [ True, True, True, True, True, True, True], [ True, True, True, True, True, True, True], [ True, True, True, True, True, True, True], [False, False, False, False, False, False, False], [False, False, False, […]

Problema con la lista de la syntax de python

La syntax de indexación extendida se menciona en el documento de python. slice([start], stop[, step]) Los objetos de sector también se generan cuando se utiliza la syntax de indexación extendida. Por ejemplo: a[start:stop:step] o a[start:stop, i] . Vea itertools.islice() para una versión alternativa que devuelve un iterador. a[start:stop:step] funciona como se describe. Pero ¿qué pasa […]

Pandas Dataframe datetime con Index vs MultiIndex

Con un solo dataframe indexado puedo hacer lo siguiente: df2 = DataFrame(data={‘data’: [1,2,3]}, index=Index([dt(2016,1,1), dt(2016,1,2), dt(2016,2,1)])) >>> df2[‘2016-01 : ‘2016-01’] data 2016-01-01 1 2016-01-02 2 >>> df2[‘2016-01-01’ : ‘2016-01-01’] data 2016-01-01 1 El corte de fecha y hora funciona cuando le da un día completo (es decir, 2016-01-01), y también funciona cuando le da una […]

Python crea un objeto de segmento desde una cadena

Me gustaría crear un objeto de división a partir de una cadena; En este momento, la única forma parece a través de una engorrosa statement de evaluación hacky class getslice: def __getitem__(self, idx): return idx[0] eval(“getslice()[%s, 1]” %(“:-1”)) gracias por adelantado. Edición : Disculpe si el mensaje original no fue claro, la entrada en este […]

¿Cómo dividir una lista de un elemento n al final en python?

Estoy teniendo algunos problemas para averiguar cómo cortar las listas de python, se ilustra a continuación: >>> test = range(10) >>> test [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> test[3:-1] [3, 4, 5, 6, 7, 8] >>> test[3:0] [] >>> test[3:1] [] >>> test [0, 1, 2, 3, 4, 5, 6, […]

Iteración eficiente sobre la rebanada en Python

¿Qué tan eficientes son las iteraciones sobre las operaciones de división en Python? Y si una copia es inevitable con rebanadas, ¿hay alguna alternativa? Sé que una operación de división sobre una lista es O (k), donde k es el tamaño de la división. x[5 : 5+k] # O(k) copy operation Sin embargo, al recorrer […]

Rápida indexación de lujo numpy

Mi código para cortar una matriz numpy (a través de una indexación elegante) es muy lento. Actualmente es un cuello de botella en el progtwig. a.shape (3218, 6) ts = time.time(); a[rows][:, cols]; te = time.time(); print(‘%.8f’ % (te-ts)); 0.00200009 ¿Cuál es la llamada numpy correcta para obtener una matriz que consiste en el subconjunto […]

Insertar elemento en la lista de Python después de cada elemento nth

Digamos que tengo una lista de Python como esta: letters = [‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’] Quiero insertar una ‘x’ después de cada elemento nth, digamos tres caracteres en esa lista. El resultado debe ser: letters = [‘a’,’b’,’c’,’x’,’d’,’e’,’f’,’x’,’g’,’h’,’i’,’x’,’j’] Entiendo que puedo hacer eso con bucles e inserciones. Lo que realmente estoy buscando es una forma de Pythonish, ¿quizás una […]

Pasando la syntax de la porción de Python a las funciones

En Python, ¿es posible encapsular exactamente la syntax de división común y pasarla? Sé que puedo usar slice o __slice__ para emular a slicing. Pero quiero pasar exactamente la misma syntax que pondría entre los corchetes que se utilizarían con __getitem__ . Por ejemplo, supongamos que escribí una función para devolver parte de una lista. […]

¿Por qué la asignación después del final de una lista a través de un sector no genera un IndexError?

Estoy trabajando en una implementación de lista dispersa y recientemente implementé una asignación a través de un sector. Esto me llevó a descubrir algún comportamiento en la implementación de la list incorporada de Python que me parece sorprendente . Dada una list vacía y una asignación a través de una porción: >>> l = [] […]