Operaciones Con Dataframes en Pandas

En pandas podemos hacer diferentes tipos de operaciones sobre un dataframe, vamos a agruparlas en las siguientes:

Extracción de columnas

A veces necesitamos un subconjunto de las columnas para generar un modelo o un reporte, para esto podemos utilizar diferentes métodos:

Método 1: listar las columnas por nombre

>>> df_sc = df[['col1', 'col2', 'col5']]

Método 2: listar las columnas en un rango

>>> df_sc = df.loc[:, 'col1':'col3']  # esto es equivalente a df[['col1', 'col2', 'col3']]

Operaciones sobre columnas

Para aplicar una función a una columna en pandas tenemos que estar conscientes del tipo de función que vamos a implementar, si es una función elemento a elemento o una función de agregación.

Operaciones elemento a elemento

Para funciones elemento a elemento podemos utilizar la función apply si son funciones de numpy o funciones que se utilicen con una sola variable.

df['sqrt_col1'] = df['col1'].apply(np.sqrt)

Otra manera de operar sobre columnas es utilizar la sintaxis normal de python

df['new_col'] = 3 * np.exp(-0.25 * df['col3'])

Funciones de agregación

para las funciones de agregación se puede usar groupby()

df.groupby('month')['col'].count()

numero de entradas por mes el col.

Creación de índices

Para crear un índice se utiliza el comando set_index, este funciona para utilizar como índice ya sea una columna o mas de una.

>>> df.set_index('col1')
>>> df.set_index(['col1', 'col2'])

Si ya creamos el dataframe se crea con un índice entero, entonces hay que usar el siguiente comando.

>>> df.set_index('col1', inplace=True, drop=True)

Después de una unión de dataframes o de una concatenación hay que regenerar el índice para evitar que haya duplicados (si es el caso)

>>> df.reset_index(inplace=True)