Selección de datos en dataframes

Desde un punto de vista semántico, un dataframe puede ser considerado semejante a un diccionario de series, en el que las claves son los nombres de las columnas y los valores, las columnas (que son series pandas). En este ejemplo:

Selección de datos en DataFrames

...podemos utilizar la sintaxis de los diccionarios para seleccionar la columna Entradas. Puede verse en la siguiente imagen cómo dicha columna es extraída con tipo de serie pandas:

Selección de datos en DataFrames

Esto significa que podemos realizar una selección en dicho resultado para, por ejemplo, extraer el valor correspondiente a febrero:

Selección de datos en DataFrames

Sin embargo, la más que razonable opción de eliminar los corchetes que separan ambos índices y sustituirlos por una coma no funciona:

Selección de datos en DataFrames

 

Si, una vez seleccionada una columna, le asignamos una lista o array (o serie) de valores de la misma longitud, estamos modificando dicha columna del dataframe:

Asignación de valores a una columna de un DataFrame

Si asignamos un único valor escalar, este se propaga por toda la columna:

Asignación de un valor escalar a una columna de un DataFrame

Si estuviésemos asignando un array cuya longitud no coincidiese con la de la columna (y no estuviésemos asignando un escalar), obtendríamos un error.

Si asignamos una serie pandas se consideran los índices del dataframe y de la serie, haciendo coincidir los valores cuyos índices sean los mismos en ambas estructuras (si dicha columna no existe, se crea). En el caso de que haya valores en la serie con índices que no se encuentren en el dataframe, se descartan. Y en el caso de que haya índices en el dataframe que no se encuentren en la serie, se asigna un valor NaN.

Así, en el siguiente ejemplo, estamos añadiendo una serie cuyos índices son "Ene", "Mar", "Abr" y "May". Es decir, la serie no tiene un valor para el índice "Feb" que sí se encuentra en el dataframe (se asigna un NaN), e incluye el índice "May" que no se encuentra en el dataframe y se descarta:

Adición a un DataFrame de una serie pandas

Los valores asignados pueden proceder del propio dataframe:

Asignación de valores a una nueva columna de un DataFrame

También podemos acceder a una columna con la llamada "notación punto":

Selección de una columna con la "notación punto"

Deberemos tener en cuenta que con esta notación no es posible crear nuevas columnas ni eliminarlas con la función del y que solo funcionará si el nombre de la columna no incluye espacios en blanco y no coincide con ninguna palabra reservada de Python.