pandas

Relleno de campos numéricos y de texto en un dataframe

Si deseamos sustituir los valores NaN según el tipo de campo del que se trate (numéricos o no), podemos recorrer la lista de columnas del dataframe analizando su tipo. Si se trata de un tipo "object", podemos rellenar los NaNs por la cadena de texto que nos interese ("None" en el ejemplo) utilizando el método "fillna", o por una cifra (0 en el ejemplo) en cualquier otro caso:

Enviado por admin el Lun, 03/12/2018 - 21:29

Cálculo del número de elementos únicos en cada columna de un dataframe

Para el cálculo del número de elementos únicos existentes en cada columna de un dataframe df vamos a utilizar una función anónima con lambda en la que se aplique la función de pandas "nunique". Ésta, aplicada a una serie pandas, devuelve el resultado que nos interesa:

df.apply(lambda x: x.nunique())

Enviado por admin el Lun, 03/12/2018 - 21:28

Cálculo del número de NaN por columna en un dataframe

Para calcular el número de NaN que hay en cada una de las columnas de un dataframe df vamos a hacer uso del método "isnull" de pandas. Éste método detecta valores NaN en arrays numéricos y valores "None" o "NaN" en arrays de objetos, devolviendo una estructura semejante a la de entrada (un dataframe en este ejemplo) en el que cada elemento se sustituye por "True" o "False" en el caso de que se trate de un NaN o no.

Enviado por admin el Lun, 03/12/2018 - 21:27

Comprobación del tipo de las columnas de un dataframe

En este sencillo escenario queremos comprobar el tipo de los datos contenidos en un dataframe "df". Para ello podemos ejecutar simplemente la siguiente instrucción:

df.dtypes

Si deseamos recorrer las columnas para realizar con ellas una acción diferente en función del tipo de la misma, podemos recorrerlas con un bucle for:

for c in df.columns:
    print(c, df[c].dtype)

Enviado por admin el Lun, 03/12/2018 - 21:26

Codificación de las columnas de tipo "object" de un dataframe

Para codificar las columnas de un dataframe vamos a recorrerlas comprobando su tipo. En el caso de ser "object" la mostramos en pantalla y la codificamos con LabelEncoder (hay otras formas de ejecutar esta codificación). En el siguiente código se entrena ("fit") el codificador "LabelEncoder" y se aplica ("transform") a la columna en dos pasos, aunque podría hacerse con un solo paso, hacienod uso del método "fit_transform": 

Enviado por admin el Lun, 03/12/2018 - 21:26

Eliminación de un dataframe de filas o columnas conteniendo valores que representan NaN

Si en un dataframe los valores nulos (NaN) han sido sustituidos por otro valor, podemos seguir eliminando las filas o columnas que los contienen si realizamos un sencillo reemplazo que sustituya el valor en cuestión por valores nulos. Así, en el siguiente ejemplo se supone que el dataframe df contiene valores nulos representados por -1, y que se desea eliminar las filas que los contienen:

df.replace(-1, np.NaN).dropna()

Enviado por admin el Lun, 03/12/2018 - 20:36

Gráfica tipo "box plot" desagregando una característica numérica según otra categórica

Si, en un dataframe pandas, tenemos una característica numérica y otra categórica, podemos mostrar una gráfica de tipo "box plot" desagregando la característica numérica según la categórica utilizando el métoco "boxplot" asociado a todo dataframe:

dataframe.boxplot(característica_numerica, característica_categócia)

Así, en el siguiente ejemplo partimos de un dataframe conteniendo un listado de ventas, indicando el servicio al que corresponde ("A", "B" o "C") y el precio del mismo:

Enviado por admin el Lun, 03/12/2018 - 20:29