Articles of coma flotante

Diferencia python entre round e int.

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?

¿Cómo evitar que la imprecisión de flotación afecte a numpy.arange?

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 […]

Para cada fila de marcos de datos, obtenga los valores top-n y los índices de columna donde ocurren

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() […]

conversión de float a decimal en python-2.6: cómo hacerlo y por qué no lo hicieron

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 […]

numpy.reciprocal devuelve valores diferentes cuando se llama repetidamente

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., […]

Comportamiento de punto flotante en Python 2.6 vs 2.7

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 […]

orden de creación de ID de objeto float ()

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 […]

Cómo llegar a la matriz unitaria desde numpy.dot (A, A_inv)

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 […]

La aritmética larga y desagradable de Numpy no parece estar en doble tiempo con la conversión

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 […]

Python 3 puntos decimales de flotación / precisión

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 […]