TECH4GEEKS-LOGO-HEADER
Oxary Magazine
$10 – $15 / Week

Cómo crear un marco de datos de pandas [With Examples]

Aprenda los conceptos básicos para trabajar con pandas DataFrames: la estructura de datos básica en pandas, una poderosa biblioteca de manipulación de datos.

Si desea ingresar al análisis de datos en Python, pandas es una de las primeras bibliotecas con las que debe aprender a trabajar. Desde la importación de datos de múltiples fuentes, como archivos CSV y bases de datos, hasta la gestión de datos faltantes y su análisis para obtener información, pandas le permite hacer todo lo anterior.

Para comenzar a analizar datos con pandas, debe comprender la estructura fundamental de los datos en pandas: tramas de datos.

En este tutorial, aprenderá los conceptos básicos de los marcos de datos de pandas y los métodos comunes para crear marcos de datos. Luego aprenderá a seleccionar filas y columnas del marco de datos para recuperar subconjuntos de datos.

Por todo esto y más, empecemos.

Instalar e importar pandas

Como pandas es una biblioteca de análisis de datos de terceros, primero debe instalarla. Se recomienda instalar paquetes externos en un entorno virtual para su proyecto.

Si usas el Anaconda Distribución de Pythonpuede usar conda para la gestión de paquetes.

conda install pandas

También puedes instalar pandas usando pip:

pip install pandas

⚙ La biblioteca de pandas requiere NumPy como dependencia. Entonces, si NumPy aún no está instalado, también se instalará durante el proceso de instalación.

Después de instalar pandas, puede importarlo a su entorno de trabajo. Por lo general, pandas se importa con el alias pd:

import pandas as pd

¿Qué es un DataFrame en Pandas?

¿Qué es un marco de datos en pandas?

La estructura de datos fundamental en pandas es el marco de datos. Un marco de datos es una matriz bidimensional de datos con un índice etiquetado y columnas con nombre. Cada columna del marco de datos, denominada serie pandas, comparte un índice común.

Este es un ejemplo de un bloque de datos que crearemos desde cero en los próximos minutos. Esta base de datos contiene datos de gastos de seis estudiantes en cuatro semanas.

  Apache Cassandra explicado en 5 minutos o menos

pd-dataframe-ex

Los nombres de los estudiantes son las etiquetas de las filas. Y las columnas se denominan ‘Week1’ a ‘Week4’. Tenga en cuenta que todas las columnas comparten el mismo conjunto de etiquetas de fila, también llamado pista.

Cómo crear un marco de datos de pandas

Hay varias formas de crear un marco de datos de pandas. En este tutorial, cubriremos los siguientes métodos:

  • Crear marco de datos a partir de matrices NumPy
  • Crear un marco de datos a partir de un diccionario de Python
  • Cree un marco de datos leyendo archivos CSV

De arreglos NumPy

Vamos a crear un marco de datos a partir de una matriz NumPy.

Vamos a crear la matriz de datos de forma (6,4) suponiendo que en una semana dada cada estudiante gasta entre $0 y $100. La función randint() del módulo aleatorio de NumPy devuelve una matriz de enteros aleatorios en un intervalo dado,[low,high].[bajoalto)[lowhigh)

import numpy as np
np.random.seed(42)
data = np.random.randint(0,101,(6,4))
print(data)
array([[51, 92, 14, 71],
       [60, 20, 82, 86],
       [74, 74, 87, 99],
       [23,  2, 21, 52],
       [ 1, 87, 29, 37],
       [ 1, 63, 59, 20]])

Para crear un marco de datos de pandas, puede usar el constructor DataFrame y pasar la matriz NumPy como argumento de datos, como se muestra:

students_df = pd.DataFrame(data=data)

Ahora podemos llamar a la función integrada type() para verificar el tipo de Students_df. Vemos que es un objeto DataFrame.

type(students_df)
# pandas.core.frame.DataFrame
print(students_df)

pandas-dataframe-01

Vemos que por defecto tenemos una indexación de rango que va de 0 a numRows – 1, y las etiquetas de las columnas son 0, 1, 2,…, numCols -1. Sin embargo, esto reduce la legibilidad. Será útil agregar nombres de columnas descriptivos y etiquetas de filas al marco de datos.

Vamos a crear dos listas: una para almacenar los nombres de los estudiantes y otra para almacenar las etiquetas de las columnas.

students = ['Amy','Bob','Chris','Dave','Evelyn','Fanny']
cols = ['Week1','Week2','Week3','Week4']

Al llamar al constructor de DataFrame, puede establecer el índice y las columnas en las listas de etiquetas de fila y etiquetas de columna para usar, respectivamente.

students_df = pd.DataFrame(data = data,index = students,columns = cols)

Ahora tenemos el marco de datos Students_df con etiquetas descriptivas de filas y columnas.

print(students_df)

pandas-dataframe-02

Para obtener información básica sobre el marco de datos, como valores faltantes y tipos de datos, puede llamar al método info() en el objeto del marco de datos.

students_df.info()

imagen-114

De un diccionario de Python

También puede crear un marco de datos de pandas a partir de un diccionario de Python.

Aquí, data_dict es el diccionario que contiene los datos de los estudiantes:

  • Los nombres de los alumnos son las claves.
  • Cada valor es una lista de cuánto gasta cada estudiante desde la semana uno hasta la semana cuatro.
data_dict = {}
students = ['Amy','Bob','Chris','Dave','Evelyn','Fanny']
for student,student_data in zip(students,data):
  data_dict[student] = student_data

Para crear un marco de datos a partir de un diccionario de Python, use from_dict como se muestra a continuación. El primer argumento corresponde al diccionario que contiene los datos (data_dict). De forma predeterminada, las claves se utilizan como nombres de columna del marco de datos. Como nos gustaría configurar las claves como etiquetas de fila, configure orient = ‘index’.

students_df = pd.DataFrame.from_dict(data_dict,orient='index')
print(students_df)

pandas-dataframe-de-dict

Para reemplazar los nombres de las columnas con el número de la semana, establecemos las columnas en la lista de columnas:

students_df = pd.DataFrame.from_dict(data_dict,orient='index',columns=cols)
print(students_df)

pandas-dataframe-03

Leer en un archivo CSV en un Pandas DataFrame

Supongamos que los datos de los estudiantes están disponibles en un archivo CSV. Puede usar la función read_csv () para leer datos del archivo en el marco de datos de pandas. pd.read_csv(‘file-path’) es la sintaxis general, donde file-path es la ruta al archivo CSV. Podemos establecer el parámetro de nombres en la lista de nombres de columna para usar.

students_df = pd.read_csv('/content/students.csv',names=cols)

Ahora que sabemos cómo crear un marco de datos, aprendamos cómo seleccionar filas y columnas.

  Mantenimiento preventivo explicado en 5 minutos o menos

Seleccionar columnas de un Pandas DataFrame

Hay varios métodos integrados que puede usar para seleccionar filas y columnas de un marco de datos. Este tutorial repasa las formas más comunes de seleccionar columnas, filas y filas y columnas de un marco de datos.

Selección de una sola columna

Para seleccionar una sola columna, puede usar df_name[col_name] donde col_name es la cadena que indica el nombre de la columna.

Aquí seleccionamos solo la columna ‘Semana1’.

week1_df = students_df['Week1']
print(week1_df)

una sola columna

Selección de varias columnas

Para seleccionar varias columnas en el marco de datos, pase la lista de todos los nombres de columna para seleccionar.

odd_weeks = students_df[['Week1','Week3']]
print(odd_weeks)

varias columnas

Además de este método, también puede usar los métodos iloc() y loc() para seleccionar columnas. Codificaremos un ejemplo más adelante.

Seleccionar filas de un Pandas DataFrame

4-2

Usando el método .iloc()

Para seleccionar filas usando el método iloc(), pase los índices correspondientes a todas las filas como una lista.

En este ejemplo, seleccionamos las filas en el índice impar.

odd_index_rows = students_df.iloc[[1,3,5]]
print(odd_index_rows)

filas impares

Luego, seleccionamos un subconjunto del marco de datos que contiene las filas en los índices 0 a 2, el punto final 3 se excluye de forma predeterminada.

slice1 = students_df.iloc[0:3]
print(slice1)

seleccionar filas

Usando el método .loc()

Para seleccionar filas de un bloque de datos utilizando el método loc(), debe especificar las etiquetas correspondientes a las filas que desea seleccionar.

some_rows = students_df.loc[['Bob','Dave','Fanny']]
print(some_rows)

algunas lineas

Si las filas del marco de datos se indexan utilizando el rango predeterminado 0, 1, 2, hasta numRows -1, el uso de iloc() y loc() es equivalente.

Seleccione filas y columnas de un Pandas DataFrame

Hasta ahora ha aprendido a seleccionar filas o columnas de un marco de datos de pandas. Sin embargo, a veces necesitará seleccionar un subconjunto de filas y columnas. Entonces, ¿cómo lo haces? Puede usar los métodos iloc() y loc() de los que hablamos.

  7 apps de transporte público para saber cómo ir de A a B

Por ejemplo, en el fragmento de código a continuación, seleccionamos todas las filas y columnas en los índices 2 y 3.

subset_df1 = students_df.iloc[:,[2,3]]
print(subset_df1)

subconjunto de tramas de datos

El uso de start:stop crea un corte de principio a fin, sin incluir. Entonces, cuando omite los valores iniciales y finales, cuando omite los valores iniciales y finales, el segmento comienza al principio y se extiende hasta el final del marco de datos, seleccionando todas las filas.

Al usar el método loc(), debe pasar las etiquetas de las filas y columnas que desea seleccionar, como se muestra:

subset_df2 = students_df.loc[['Amy','Evelyn'],['Week1','Week3']]
print(subset_df2)

subconjunto df

Aquí, el marco de datos subset_df2 contiene el registro de Amy y Evelyn para la semana 1 y la semana 3.

Conclusión

Aquí hay una descripción general rápida de lo que aprendiste en este tutorial:

  • Después de instalar pandas, puede importarlo con el alias pd. Para crear un objeto de marco de datos de pandas, puede usar el constructor pd.DataFrame(data), donde los datos se refieren a la matriz N-dimensional o un iterable que contiene los datos. Puede especificar etiquetas de fila, índice y columna configurando parámetros opcionales de índice y columna, respectivamente.
  • El uso de pd.read_csv(path-to-the-file) lee el contenido del archivo en un marco de datos.
  • Puede llamar al método info() en el objeto del bloque de datos para obtener información sobre las columnas, la cantidad de valores faltantes, los tipos de datos y el tamaño del bloque de datos.
  • Para seleccionar una sola columna, use df_name[col_name]y para seleccionar varias columnas, una columna en particular, df_name[[col1,col2,…,coln]].
  • También puede seleccionar columnas y filas utilizando los métodos loc() e iloc().
  • Mientras que el método iloc() toma el índice (o el segmento de índice) de las filas y columnas para seleccionar, el método loc() toma las etiquetas de fila y columna.

Puede encontrar los ejemplos utilizados en este tutorial en este cuaderno de colaboración.

Luego, consulte esta lista de cuadernos colaborativos de ciencia de datos.

Fuente

Etiquetas

Comparte en:

Ultimos Post

Categorias

Lorem ipsum dolor sit amet, consectetur adipiscing elit eiusmod tempor ncididunt ut labore et dolore magna
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore