Articles of optimización

¿Puede este código de Python ser más eficiente?

He escrito algún código para encontrar cuántas subcadenas de una cadena son pares de anagtwigs. La función para encontrar anagram(anagramSolution) es de complejidad O (N). La función de subcadena tiene una complejidad menor que N cuadrada. Pero, este código aquí es el problema. ¿Se puede optimizar más? for i in range(T): x = raw_input() alist […]

Convertir un cálculo de bucle nested a Numpy para acelerar

Parte de mi progtwig de Python contiene el siguiente fragmento de código, donde se calcula una nueva cuadrícula según los datos encontrados en la cuadrícula anterior. La cuadrícula es una lista bidimensional de flotadores. El código utiliza tres bucles for: for t in xrange(0, t, step): for h in xrange(1, height-1): for w in xrange(1, […]

Forma rápida de mapear los escalares a los colores en python

Estoy buscando una forma rápida de asignar los escalares a los colores hexadecimales en python: import matplotlib import matplotlib.cm as cm import matplotlib.colors as mcol np.random.seed(0) df = pd.DataFrame(np.random.rand(20000,1)) df.head() 0 0 0.548814 1 0.715189 2 0.602763 3 0.544883 4 0.423655 Solo tengo 20 colores, así que me pregunto si matplotlib es la mejor solución […]

Acelerar la consulta de Pymongo

Estoy usando Python 3, Pymongo con mongodb 4.0 e Ifxpy para consultar la base de datos Informix. Tengo 4 colecciones en mi base de datos MongoDB: Usuario Oficina Mascota Coche Un usuario tiene una oficina, una mascota y un automóvil. Así que tengo 3 referencias en cada campo en las colecciones de usuarios. Necesito algo […]

Parcela paraboloide superficie de ajuste

¿Cómo puedo trazar el paraboloide después de colocarlo usando Python? para conseguir esa ttwig import numpy as np import scipy.optimize as opt import matplotlib.pyplot as plt doex = [0.4,0.165,0.165,0.585,0.585] doey = [.45, .22, .63, .22, .63] doez = np.array([1, .99, .98,.97,.96]) def paraBolEqn(data,a,b,c,d): x,y = data return -(((xb)/a)**2+((yd)/c)**2)+1.0 popt,pcov=opt.curve_fit(paraBolEqn,np.vstack((doex,doey)),doez,p0=[1.5,0.4,1.5,0.4]) print(popt)

¿Por qué este pequeño juego de Pacman (155 líneas de largo) en Python funciona tan lento?

Ya he cortado todo lo que pude del bucle principal. También optimicé las colisiones para objetos dynamics y estáticos, reduciendo considerablemente el número de iteraciones. Pero sigue siendo lento en su máquina. Publicaré el archivo completo para el caso en el que alguien quiera probarlo, pero puede saltar al bucle principal en “while Exit == […]

Acelera el algoritmo de flujo óptico (si corresponde) Python OpenCV

Me encontré con esta situación interesante ( Aceleración del flujo óptico (createOptFlow_DualTVL1) ) pero no se aplica a mis necesidades. Mi problema general es que quiero acelerar lo más posible el siguiente código si es aplicable. Tenga en cuenta que quiero que los marcos estén en escala de grises y que cambien su tamaño a […]

os.walk muy lento, ¿alguna forma de optimizar?

Estoy usando os.walk para construir un mapa de un almacén de datos (este mapa se usa más adelante en la herramienta que estoy construyendo) Este es el código que uso actualmente: def find_children(tickstore): children = [] dir_list = os.walk(tickstore) for i in dir_list: children.append(i[0]) return children He hecho un análisis al respecto: dir_list = os.walk(tickstore) […]

Progtwigción de enteros mixtos – Ubicación de almacén (Python + GLPK)

Soy relativamente nuevo en optimización y estoy tratando de optimizar un problema (de una clase pas en Coursera, hace 2 años) sobre la ubicación del almacén. El problema es que han pasado más de 6 horas y aún se está ejecutando en una instancia con 100 almacenes y 1000 clientes. El problema es el siguiente. […]

Concatenar arrays de rango dado inicio, detener los números de una manera vectorizada – NumPy

Tengo dos matrices de interés, la primera es una matriz de “bolsa de palabras”, con dos columnas: la identificación del documento y el término identificación. Por ejemplo: bow[0:10] Out[1]: array([[ 0, 10], [ 0, 12], [ 0, 19], [ 0, 20], [ 1, 9], [ 1, 24], [ 2, 33], [ 2, 34], [ 2, […]