Saltar a contenido

4.2.3. OTRAS OPERACIONES

Otras operaciones

Eliminar columnas de un Dataframe

Para eliminar columnas de un DataFrame se utilizan los siguientes métodos:

del d[nombre] : Elimina la columna con nombre nombre del DataFrame df.

df.pop(nombre) : Elimina la columna con nombre nombre del DataFrame df y la devuelve como una serie.

df = pd.read_csv('https://raw.githubusercontent.com/asalber/manual-python/master/datos/colesterol.csv')
edad = df.pop('edad')
print(df)

Reemplazar valores vacíos

Si existen valores vacíos y no se quieren eliminar, podemos rellenar las celdas vacías con un valor:

df.fillna(40, inplace = True)
Se han rellenado todos los campos que aparecían vacíos con el valor 40. Podemos comprobar que ya no existen campos vacíos con df.info().

Reemplazar sólo las columnas especificadas

df = pd.read_csv('https://raw.githubusercontent.com/asalber/manual-python/master/datos/colesterol.csv')
df["colesterol"].fillna(130, inplace = True)

Reemplazar usando Media, Mediana o Moda

df = pd.read_csv('https://raw.githubusercontent.com/asalber/manual-python/master/datos/colesterol.csv')
x = df["colesterol"].mean()
df["colesterol"].fillna(x, inplace = True)

Eliminación de duplicados

df=pd.read_excel('ejemplo4.xlsx', sheet_name="Hoja3", header=None)
df.duplicated()
df.drop_duplicates(inplace = True)

Convertir una columna al tipo datetime

Puede ocurrir que una columna que contiene datos de tipo cadena, realmente representa fechas. Para convertir esta columna al formato fecha se utiliza el siguiente método:

  • to_datetime(columna, formato): Devuelve la serie que resulta de convertir las cadenas de la columna con el nombre columna en fechas del tipo datetime con el formado especificado en formato.
df = pd.DataFrame({'Name': ['María', 'Carlos', 'Carmen'], 'Nacimiento':['05-03-2000', '20-05-2001', '10-12-1999']})
print(pd.to_datetime(df.Nacimiento, format = '%d-%m-%Y'))

Agrupación de un DataFrame

Muchas veces necesitamos agrupar los datos de un DataFrame de acuerdo a los valores de una o varias columnas o categoría, como por ejemplo el sexo o el país.

imagen

  • df.groupby(columnas).get_group(valores) : Devuelve un DataFrame con las filas del DataFrame df que cumplen que las columnas de la lista columnas presentan los valores de la tupla valores. La lista columnas y la tupla valores deben tener el mismo tamaño.
df = pd.read_csv('https://raw.githubusercontent.com/asalber/manual-python/master/datos/colesterol.csv')
print(df.groupby('sexo').get_group('M'))

Agregación por grupos

  • df.groupby(columnas).agg(funciones) : Devuelve un DataFrame con el resultado de aplicar las funciones de agregación de la lista funciones a cada uno de los DataFrames que resultan de dividir el DataFrame según las columnas de la lista columnas.

Una función de agregación toma como argumento una lista y devuelve una único valor. Algunas de las funciones de agregación más comunes son:

  • np.min : Devuelve el mínimo de una lista de valores.

  • np.max : Devuelve el máximo de una lista de valores.

  • np.count_nonzero : Devuelve el número de valores no nulos de una lista de valores.

  • np.sum : Devuelve la suma de una lista de valores.

  • np.mean : Devuelve la media de una lista de valores.

  • np.std : Devuelve la desviación típica de una lista de valores.

import numpy as np
df = pd.read_csv('https://raw.githubusercontent.com/asalber/manual-python/master/datos/colesterol.csv')
print(df.groupby('sexo').agg(np.mean))