12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.16 Creación de un DataFrame a partir de una lista de diccionarios

Para crear un DataFrame a partir de una lista de diccionarios con los datos de las filas, se utiliza el siguiente método:

• DataFrame(data=diccionarios, index=filas, columns=columnas, dtype=tipos ) : Devuelve un objeto del tipo DataFrame cuyas filas contienen los valores de los diccionarios de la lista diccionarios, los nombres de filas indicados en la lista filas, los nombres de columnas indicados en la lista columnas y los tipos indicados en la lista tipos. La lista filas tiene que tener el mismo tamaño que la lista lista. Si no se pasa la lista de filas se utilizan enteros empezando en 0. Si no se pasa la lista de columnas se utilizan las claves de los diccionarios. Si no se pasa la lista de tipos, se infiere.Python

Si los diccionarios no tienen las mismas claves, las claves que no aparecen en el diccionario se rellenan con valores NaN.

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.17 Creación de un DataFrame a partir de un array

Para crear un DataFrame a partir de un array de NumPy se utiliza el siguiente método:

  • DataFrame(data=array, index=filas, columns=columnas, dtype=tipo) : Devuel- de un objeto del tipo DataFrame cuyas filas y columnas son las del array array, los nombres de filas indicados en la lista filas, los nombres de columnas indicados en la lista columnas y el tipo indicado en tipo. La lista filas tiene que tener el mismo tamaño que el número de filas del array y la lista columnas el mismo tamaño que el número de columnas del array. Si no
    se pasa la lista de filas se utilizan enteros empezando en 0. Si no se pasa la lista de columnas se utilizan las claves de los diccionarios. Si no se pasa la lista de tipos, se infiere.

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.18 Creación de un DataFrame a partir de un fichero CSV o Excel

Dependiendo del tipo de fichero, existen distintas funciones para importar un DataFrame desde un fichero.

  • read_csv(fichero.csv, sep=separador, header=n, index_col=m, na_values= no-validos, decimal=separador-decimal) : Devuelve un objeto del tipo DataFrame con los datos del fichero CSV fichero.csv usando como separador de los datos la cadena separador. Como nombres de columnas se utiliza los valores de la fila n y como nombres de filas los valores de la columna m. Si no se indica m se utilizan como nombres de filas los enteros empezando en 0. Los valores incluídos en la lista no-validos se convierten en NaN. Para los datos numéricos se utiliza como separador de decimales el carácter indicado en separador-decimal.
  • read_excel(fichero.xlsx, sheet_name=hoja, header=n, index_col=m, na_values=no-validos, decimal=separador-decimal) : Devuelve un objeto del tipo DataFrame con los datos de la hoja de cálculo hoja del fichero Excel fichero.xlsx. Como nombres de columnas se utiliza los valores de la fila n y como nombres de filas los valores de la columna m. Si no se indica m se utilizan como nombres de filas los enteros empezando en 0. Los valores incluídos en la lista no-validos se convierten en NaN. Para los datos numéricos se utiliza como separador de decimales el carácter indicado en separador-decimal.

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.19 Exportación de ficheros

También existen funciones para exportar un DataFrame a un fichero con diferentes formatos.

  • df.to_csv(fichero.csv, sep=separador, columns=booleano, index=booleano) : Exporta el DataFrame df al fichero fichero.csv en formato CSV usando como separador de los datos la cadena separador. Si se pasa True al parámetro columns se exporta también la fila con los nombres de columnas y si se pasa True al parámetro index se exporta también la columna con los nombres de las filas.
  • df.to_excel(fichero.xlsx, sheet_name = hoja, columns=booleano, index= booleano) : Exporta el DataFrame df a la hoja de cálculo hoja del fichero fichero.xlsx en formato Excel. Si se pasa True al parámetro columns se exporta también la fila con los nombres de columnas y si se pasa True al parámetro index se exporta también la columna con los nombres de las filas.
12.20 Atributos de un DataFrame

Python

Existen varias propiedades o métodos para ver las características de un DataFrame.

  • df.info() : Devuelve información (número de filas, número de columnas, índices, tipo de las columnas y memoria usado) sobre el DataFrame df.
  • df.shape : Devuelve una tupla con el número de filas y columnas del DataFrame df.
  • df.size : Devuelve el número de elementos del DataFrame.
  • df.columns : Devuelve una lista con los nombres de las columnas del DataFrame df.
  • df.index : Devuelve una lista con los nombres de las filas del DataFrame df.
  • df.dtypes : Devuelve una serie con los tipos de datos de las columnas del DataFrame df.
  • df.head(n) : Devuelve las n primeras filas del DataFrame df.
  • df.tail(n) : Devuelve las n últimas filas del DataFrame df.

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.21 Renombrar los nombres de las filas y columnas

Para cambiar el nombre de las filas y las columnas de un DataFrame se utiliza el siguiente método:

  • df. rename(columns=columnas, index=filas): Devuelve el DataFrame que resulta de re­nombrar las columnas indicadas en las claves del diccionario columnas con sus valores y las filas indicadas en las claves del diccionario filas con sus valores en el DataFrame df.

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.22 Reindexar un DataFrame

Para reordenar los índices de las filas y las columnas de un DataFrame, así como añadir o eliminar índices, se utiliza el siguiente método:

  • df.reindex(index=filas, columns=columnas, fill_value=relleno) : Devuelve el DataFrame que resulta de tomar del DataFrame df las filas con nombres en la lista filas y las columnas con nombres en la lista columnas. Si alguno de los nombres indicados en filas o columnas no existía en el DataFrame df, se crean filan o columnas nuevas rellenas con el valor relleno.

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.23 Acceso a los elementos de un DataFrame

El acceso a los datos de un DataFrame se puede hacera través de posiciones o través de los nombres de las filas y columnas.

12.24 Accesos mediante posiciones
  • df.iloc[i, j] : Devuelve el elemento que se encuentra en la fila i y la columna j del Data- Frame df. Pueden indicarse secuencias de índices para obtener partes del DataFrame.
  • df.iloc[filas, columnas] : Devuelve un DataFrame con los elementos de las filas de la lista filas y de las columnas de la lista columnas.
  • df.iloc[i] : Devuelve una serie con los elementos de la fila i del DataFrame df.

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.25 Acceso a los elementos mediante nombres
  • df.loc[fila, columna]: Devuelve el elemento que se encuentra en la fila con nombre fila y la columna de con nombre columna del DataFrame df.

df.loc[filas, columnas]: Devuelve un DataFrame con los elemento que se encuentra en las filas con los nombres de la lista filas y las columnas con los nombres de la lista columnas del DataFrame df.

Python

  • df[columna] : Devuelve una serie con los elementos de la columna de nombre columna del DataFrame df.
  • columna : Devuelve una serie con los elementos de la columna de nombre columna del Da­taFrame df. Es similar al método anterior pero solo funciona cuando el nombre de la columna no tiene espacios en blanco.

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.26 Operaciones con las columnas de un DataFrame

12.27 Añadir columnas a un DataFrame

El procedimiento para añadir una nueva columna aun DataFrame es similar al de añadir un nuevo par aun diccionario, pero pasando los valores de la columna en una lista o serie.

  • d[nombre] = lista: Añade al DataFrame df una nueva columna con el nombre nombre y los valores de la lista lista. La lista debe tener el mismo tamaño que el número de filas de df.
  • d[nombre] = serie: Añade al DataFrame df una nueva columna con el nombre nombre y los valores de la serie serie. Si el tamaño de la serie es menor que el número de filas de df se rellena con valores NaN mientras que si es mayor se recorta.

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.28 Operaciones sobre columnas

Puesto que los datos de una misma columna de un DataFrame son del mismo tipo, es fácil aplicar la misma operación a todos los elementos de la columna.

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.29 Aplicar funciones a columnas

Para aplicar funciones a todos los elementos de una columna se utiliza el siguiente método:

  • df[columna]. apply(f) : Devuelve una serie con los valores que resulta de aplicar la función f a los elementos de la columna con nombre columna del DataFrame df.

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.30 Convertir una columna al tipo datetime

A menudo una columna contiene cadenas que representan fechas. Para convertir estas cadenas al tipo datetime 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. (Ver librería datetime)

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.31 Resumen descriptivo de un DataFrame

Al igual que para las series, los siguientes métodos permiten resumirla información de un DataFrame por columnas:

  • df.count() : Devuelve una serie número de elementos que no son nulos ni NaN en cada co­lumna del DataFrame df.
  • df.sum() : Devuelve una serie con la suma de los datos de las columnas del DataFrame df cuando los datos son de un tipo numérico, o la concatenación de ellos cuando son del tipo cadena str.
  • df.cumsum() : Devuelve un DataFrame con la suma acumulada de los datos de las columnas del DataFrame df cuando los datos son de un tipo numérico.
  • df.min() : Devuelve una serie con los menores de los datos de las columnas del DataFrame df.
  • df.max() : Devuelve una serie con los mayores de los datos de las columnas del DataFrame df.
  • df.mean() : Devuelve una serie con las media de los datos de las columnas del DataFrame df cuando los datos son de un tipo numérico.
  • df.std() : Devuelve una serie con las desviaciones típicas de los datos de las columnas del DataFrame df cuando los datos son de un tipo numérico.
  • df.describe(include = tipo) : Devuelve un DataFrame con un resumen estadístico de las columnas del DataFrame df del tipo tipo. Para los datos numéricos (number) se calcula la me­dia, la desviación típica, el mínimo, el máximo y los cuartiles de las columnas numéricas. Para los datos no numéricos (object) se calcula el número de valores, el número de valores distin­tos, la moda y su frecuencia. Si no se indica el tipo solo se consideran las columnas numéricas.

12.16 Creación de un DataFrame a partir de una lista de diccionarios

12.16 Creación de un DataFrame a partir de una lista de diccionarios

Publicaciones Similares