He estado jugando un poco con python por un tiempo y he notado un extraño comportamiento que me hace sentir curioso: ¿cuál es la diferencia entre float(int(n)) y round(n) ? ¿Cuándo debo usar uno, otro o ninguno de ellos?
Debido a que numpy.arange () usa ceil((stop – start)/step) para determinar el número de elementos, una pequeña imprecisión flotante (stop = .400000001) puede agregar un valor no deseado a la lista. Ejemplo El primer caso no incluye el punto de parada (previsto) >>> print(np.arange(.1,.3,.1)) [0.1 0.2] El segundo caso incluye el punto de parada (no […]
Tengo una matriz de 1000×1000 (de números de punto flotante) como dataframe. Las columnas y las filas son 0-1000. Para cada fila, quiero los 10 valores más altos y su información de índice. Esto resulta ser más difícil de lo que pensé al principio: for row, index in df.iterrows(): temp_row = row.copy() sort_row = temp_row.sort() […]
La conversión directa de float a decimal se implementó en python-2.7, tanto en el constructor de decimal como con el método de clase Decimal.from_float (). Python-2.6 en su lugar lanza un TypeError que sugiere convertir primero a la cadena: TypeError: Cannot convert float to Decimal. First convert the float to a string así que mi […]
Tengo una matriz ssh_sum : >>> ssh_sum array([[ 0., 2., 1., 0., 0., 0.], [ 0., 0., 1., 2., 0., 0.], [ 0., 0., 0., 1., 0., 2.]]) Quería calcular los valores recíprocos de los elementos en esta matriz. Numpy devuelve valores diferentes cuando llamo np.reciprocal repetidamente: >>> ssh_sum array([[ 0., 2., 1., 0., 0., […]
Así que saco el intérprete de Python 2.6 y obtengo esto: Python 2.6.6 (r266:84292, Nov 22 2013, 12:16:22) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 Type “help”, “copyright”, “credits” or “license” for more information. >>> 2.1 2.1000000000000001 >>> 2.2 2.2000000000000002 >>> 2.2 2.2000000000000002 Sin embargo, en Python 2.7 obtengo resultados más parecidos a los […]
float(1.0) is float(1.0) #True float(1) is float(1) #False He aislado la rareza float () aquí para el orden de creación del objeto, porque x1 = float(1) x2 = float(1) x1 is x2 #False id(x1) == id(x2) #False y1 = float(1.0) y2 = float(1.0) y1 is y2 #True id(y1) == id(y2) #True Nota: He hecho controles […]
Preparo una matriz de números aleatorios, calculo su inverso y la matriz lo multiplico con la matriz original. Esto, en teoría, da la matriz unitaria. ¿Cómo puedo dejar que numpy haga eso por mí? import numpy A = numpy.zeros((100,100)) E = numpy.zeros((100,100)) size = 100 for i in range(size): for j in range(size): A[i][j]+=numpy.random.randint(10) if […]
He estado jugando el quad de doble precisión de C99. Tengo entendido que (específico de la plataforma) el número soporta flotaciones largas de doble y 128 bits. Me he encontrado con algo que no puedo explicar sin embargo. Dado: >>> import numpy as np Calcule un número que requerirá más de 64 bits pero menos […]
Estoy leyendo un archivo de texto con números de punto flotante, todos con 1 o 2 puntos decimales. Estoy usando float() para convertir una línea en un float, y ValueError subiendo un ValueError si eso falla. Estoy almacenando todos los flotadores en una lista. Al imprimirlo, me gustaría imprimirlo como un punto flotante con 2 […]