Escrito por:
Un DataFrame es una estructura de datos proporcionada por la librería de Pandas que te permite representar una lista bidimensional de datos en una tabla de filas y columnas, este estructura te permite almacenar diferentes tipos de datos y realizar operaciones sobre ellos. En este artículo veremos algunos fundamentos básicos acerca de como crear un DataFrame y algunos de los métodos más relevantes para poder manipular sus datos. Si necesitas aprender sobre pandas por completo, aquí te dejamos un tutorial de pandas para machine learning.
El siguiente es un pequeño ejemplo sobre ¿cómo crear un DataFrame de usuarios?
1import pandas as pd 2 3usuarios = { 4 "Firstname": ['Thomas', 'Jane', 'Charlie', 'David'], 5 "Lastname": ['Smith', 'Johnson', 'Brown', 'Lee'], 6 "Email": ['thomas@example.com', 'Jane@example.com', 'charlie@example.com', 'david@example.com'], 7 "Age": [28, 32, 25, 30] 8} 9 10usuarios_df = pd.DataFrame(usuarios) 11print(usuarios_df)
output del código en la consola:
1 Firstname Lastname Email Age 20 Thomas Smith thomas@example.com 28 31 Jane Johnson Jane@example.com 32 42 Charlie Brown charlie@example.com 25 53 David Lee david@example.com 30
Para crear un DataFrame primero debes asegurarte de importar el módulo de pandas
, luego simplemente debes crear un diccionario para representar la información donde las claves de objetos serán las columnas y los valores de las claves serán los valores para las filas del DataFrame. Por último para crear el DataFrame debes usar la clase DataFrame()
que recibe como argumento el diccionario con la información y retorna un nuevo DataFrame con esa información. En el output de la consola puedes ver la estructura que tendrá el data frame con los índices, la filas y las columnas.
Un DataFrame es una forma de representar datos en una tabla con filas y columnas donde cada fila representa una observación o un registro y cada columna representa una variable o un atributo. Por ejemplo, si tenemos una tabla con los datos de las películas de un director, cada fila sería una película y cada columna sería una característica como el título, el género, el idioma, el año de estreno etc...
Podemos crear un DataFrame con ayuda de una de las librerías más populares de Python, la librería de Pandas, esta librería nos ofrece varias herramientas para crear, manipular, organizar y eliminar elementos de un DataFrame. Un DataFrame de pandas tiene muchas ventajas, algunas de ellas son:
A continuación vamos a seguir algunos pasos para crear un DataFrame con ayuda del método DataFrame()
de la librería de Pandas.
Para poder crear un DataFrame, primero necesitas instalar la librería de Pandas, puedes instalarla con el administrador de paquetes pip
. Si aún no tienes pip instalador en tu ordenador puedes hacerlo desde la pagina oficial de pip download, una vez que tengas pip instalado en tu ordenador puede usar el siguiente comando para instalar Pandas.
1pip install pandas
Luego puedes confirmar que pip se instaló correctamente con el comando pip --version
, deberías ver en la consola la última versión estable de pip.
1pip --version 2 3// output ejemplo 4pip 23.2.1 from C:\Python312\Lib\site-packages\pip (python 3.12)
Una vez terminada la descarga, abre tu editor de código preferido, si aún no tienes uno instalado te recomiendo que utilices el editor de código visual studio code, después crea un archivo con la extensión .py para crear un archivo python por ejemplo ìndex.py
y por último dentro del archivo ingresa la siguiente sintaxis para importar pandas:
1import pandas as pd
Con esta sintaxis, importamos el módulo de pandas y le colocamos el alias (opcional) de pd
lo que nos permite utilizar los métodos del módulo de pandas más fácilmente.
Ahora que ya importamos pandas en nuestro archivo de trabajo podemos empezar a crear nuestro DataFrame, para este ejemplo crearemos un DataFrame de con la información de algunas películas.
1import pandas as pd 2 3peliculas = { 4 'Idioma': ['Inglés', 'Español', 'Francés', 'Alemán'], 5 'Director': ['John Smith', 'Maria Rodríguez', 'Étienne Dubois"', 'Emily Müller'], 6 'Año de Estreno': [2020, 2018, 2019, 2021], 7 'Título': ['Crossed Paths', 'Secretos de Medianoche', 'Lever de soleil à Paris', 'Der letzte Seufzer'] 8} 9 10df_peliculas = pd.DataFrame(peliculas) 11print(df_peliculas)
output del código:
1 Idioma Director Año de Estreno Título 20 Inglés John Smith 2020 Crossed Paths 31 Español Maria Rodríguez 2018 Secretos de Medianoche 42 Francés Étienne Dubois 2019 Lever de soleil à Paris 53 Alemán Emily Müller 2021 Der letzte Seufzer
Para crear el DataFrame, primero debemos crear un diccionario que tenga como claves los nombres para las columnas y como valores una lista que representa la información de cada película en esa columna, es muy importante que todas las listas tengan la misma cantidad de elementos ya que si alguna de las listas tiene más elementos que las demás el código nos arrojará un error. Después podemos utilizar el método DataFrame()
de la librería de pandas para estructurar nuestro DataFrame, este método recibe como argumento el diccionario con la información de las películas y retorna una estructura de DataFrame que guardaremos en la variable df_peliculas
. Por último simplemente imprimimos el resultado en la consola para ver la estructura de nuestro DataFrame.
La librería de Pandas tiene varios métodos que te permite manipular la información de un DataFrame, a continuación veremos algunos de los más importante y utilizados al momento de trabajar con un DataFrame.
by
, además podemos indicarle si ordenar el DataFrame de forma ascendente o descendente y si queremos modificar el DataFrame original podemos usar el argumento de inplace
y pasarle como valor True
.axis
, que puede ser 0 para columnas o 1 para las filas. Este método puede recibir una función predefinida por el usuario o predefinida de Python o de Pandas. Lee este artículo si quieres conocer más sobre el método apply de pandas.La limpieza de datos es un proceso muy importante para el análisis de datos, la librería de pandas ofrece una amplia variedad de métodos que nos pueden ayudar con esta tarea. A continuación veremos algunos de los más importantes y comúnmente utilizados para realizar la limpieza de datos de un DataFrame.
1import pandas as pd 2 3columns = ["Species ID", "Family", "Category", "Park Name", "Name"] 4rows_data = [ 5 ["ACAD-1000", "Mammal", "Cervidae", "Acadia National Park", "Moose"], 6 ["ACAD-1001", None, "Cervidae", "Badlands National Park", "Northern White-Tailed Deer"], 7 ["ACAD-1002", "Mammal", "Canidae", "Big Bend National Park", "Coyote"], 8 ["ACAD-1003", "Mammal", "Canidae", "Big Bend National Park", "Eastern Timber Wolf"], 9 ["ACAD-1004", "Mammal", "Canidae", "Biscayne National Park", "Red Fox"], 10 ["ACAD-1004", "Mammal", "Canidae", "Biscayne National Park", "Red Fox"], 11 ["ACAD-1005", "Mammal", None, "Badlands National Park", "Bobcat"], 12 ["ACAD-1006", "Mammal", "Mephitidae", "Bryce Canyon National Park", "Striped Skunk"], 13 ["ACAD-1007", "Mammal", "Mustelidsae", "Bryce Canyon National Park", None], 14 ["ACAD-1006", "Mammal", "Mephitidae", "Bryce Canyon National Park", "Striped Skunk"] 15] 16 17df_species = pd.DataFrame(rows_data, columns=columns) 18print(df_species)
1df_species = df_species.drop_duplicates()
1 Species ID Family Category Park Name Name 20 ACAD-1000 Mammal Cervidae Acadia National Park Moose 31 ACAD-1001 None Cervidae Badlands National Park Northern White-Tailed Deer 42 ACAD-1002 Mammal Canidae Big Bend National Park Coyote 53 ACAD-1003 Mammal Canidae Big Bend National Park Eastern Timber Wolf 64 ACAD-1004 Mammal Canidae Biscayne National Park Red Fox 76 ACAD-1005 Mammal None Badlands National Park Bobcat 87 ACAD-1006 Mammal Mephitidae Bryce Canyon National Park Striped Skunk 98 ACAD-1007 Mammal Mustelidsae Bryce Canyon National Park None
NaN
(Not a Number) en pandas. Estos métodos son útiles para detectar y contar los valores nulos en el DataFrame.1print(df_species.isnull())
1 Species ID Family Category Park Name Name 20 False False False False False 31 False True False False False 42 False False False False False 53 False False False False False 64 False False False False False 76 False False True False False 87 False False False False False 98 False False False False True
1df_species = df_species.fillna("HELLO")
1 Species ID Family Category Park Name Name 20 ACAD-1000 Mammal Cervidae Acadia National Park Moose 31 ACAD-1001 HELLO Cervidae Badlands National Park Northern White-Tailed Deer 42 ACAD-1002 Mammal Canidae Big Bend National Park Coyote 53 ACAD-1003 Mammal Canidae Big Bend National Park Eastern Timber Wolf 64 ACAD-1004 Mammal Canidae Biscayne National Park Red Fox 76 ACAD-1005 Mammal HELLO Badlands National Park Bobcat 87 ACAD-1006 Mammal Mephitidae Bryce Canyon National Park Striped Skunk 98 ACAD-1007 Mammal Mustelidsae Bryce Canyon National Park HELLO
1df_species = df_species.dropna()
1 Species ID Family Category Park Name Name 20 ACAD-1000 Mammal Cervidae Acadia National Park Moose 32 ACAD-1002 Mammal Canidae Big Bend National Park Coyote 43 ACAD-1003 Mammal Canidae Big Bend National Park Eastern Timber Wolf 54 ACAD-1004 Mammal Canidae Biscayne National Park Red Fox 67 ACAD-1006 Mammal Mephitidae Bryce Canyon National Park Striped Skunk
Estos son algunos los métodos más utilizados que puedes usar para hacer el proceso de limpieza de datos, pero pandas ofrece muchos más para ayudarte con este proceso, además puedes combinar estos métodos con otras librerías como Numpy
para manipular los datos del DataFrame de una manera mucho más eficiente.
El DataFrame es una de las estructuras más utilizadas de la librería de pandas, con el puedes organizar, filtrar, ordenar y modificar grandes conjuntos de datos fácilmente. En este artículo vimos como crear un DataFrame paso a paso y además vimos algunos ejemplos de los métodos más utilizados para trabajar con un DataFrame y también para hacer el proceso de limpieza de datos.
Esperamos que este tutorial haya sido de utilidad y que hayas adquirido sólidos conocimientos sobre el manejo de DataFrames con Pandas en Python. Este es solo el comienzo de tu viaje en el análisis de datos. Te invitamos a explorar otros recursos en nuestro blog para expandir tus habilidades y conocimientos en Python y análisis de datos. Si deseas llevar tu aprendizaje al siguiente nivel, te animamos a registrarte de forma totalmente gratuita en 4Geeks.com.