Prerrequisitos: Numpy
En este artículo, veamos cómo generar un script de Python que inserte aleatoriamente Nan en una array usando Numpy. A continuación se presentan 3 métodos para hacer lo mismo:
Método 1: Usar la función ravel()
La función ravel() devuelve una array aplanada contigua (array 1D con todos los elementos de la array de entrada y con el mismo tipo). Se hace una copia sólo si es necesario.
Sintaxis:
numpy.ravel(array, order = 'C')
Acercarse:
- Módulo de importación
- Crear datos
- Elija índices aleatorios para el valor de Nan.
- Pase estos índices a la función ravel()
- Imprimir datos
Ejemplo 1:
Python3
import numpy as np import pandas as pd # number of nan we want to add It will insert 3 nan values to the data..... n = 3 # creating dataset data = np.random.randn(5, 5) # choosing random indexes to put NaN index_nan = np.random.choice(data.size, n, replace=False) # adding nan to the data. data.ravel()[index_nan] = np.nan print(data)
Producción:
Ejemplo 2: agregando nan pero usando la función randint para crear datos. Para usar np.nan en la función randint , primero debemos convertir los datos en flotantes, ya que np.nan es de tipo flotante.
Python3
import numpy as np # number of nan we want to add It will insert 3 nan values to the data..... n_b = 5 # creating dataset data_b = np.random.randint(10, 100, size=(5, 5)) # converting the data to float as nan is also of type float data_b = data_b*0.1 # choosing random indexes to put NaN index_b = np.random.choice(data_b.size, n_b, replace=False) # adding nan to the data. data_b.ravel()[index_b] = np.nan print(data_b)
Producción:
Método 2: Crear máscara
Crear una máscara de valor booleano y aplicar esa máscara al conjunto de datos puede ser un enfoque para producir el resultado requerido.
Acercarse:
- Módulo de importación
- Crear datos
- Crear máscara
- Baraja la máscara para aplicar aleatoriamente los valores de Nan
- Aplicar la máscara a los datos
- Imprimir datos
Ejemplo :
Python3
import numpy as np # creating dataset X = 10 Y = 5 N = 15 data = np.random.randn(X, Y) # making a array randomly of same size as data of bool type mask = np.zeros(X*Y, dtype=bool) # marking first n indexes as true mask[:N] = True # shuffling the mask np.random.shuffle(mask) mask = mask.reshape(X, Y) # applying mask to the data data[mask] = np.nan print(data)
Producción:
Método 3: Usando insert()
El uso de la función insert() convertirá una fila completa o una columna completa a NaN. Esta función inserta valores a lo largo del eje mencionado antes de los índices dados.
Sintaxis:
numpy.insert(array, object, values, axis = None)
Acercarse:
- Módulo de importación
- Crear datos
- Usar insertar valores Nan
- Imprimir datos
Ejemplo:
Python3
import numpy as np a = np.array([(13.0, 1.0, -47.0), (12.0, 3.0, -47.0), (15.0, 2.0, -44.0)]) # adding nan values to the row np.insert(a, 2, np.nan, axis=0) # adding nan values to the row np.insert(a, 2, np.nan, axis=1)
Producción:
Publicación traducida automáticamente
Artículo escrito por prachibindal2925 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA