Exploración de conjuntos de datos con Pandas
Tags: python, pandas, datascience
Published: 2023-06-05 20:30:22

# Exploración de conjuntos de datos con Pandas

Pandas es una potente biblioteca de Python, imprescindible para cualquier científico de datos o analista, que permite la manipulación y análisis de datos de manera eficiente y fácil. Con Pandas, se pueden realizar tareas como la manipulación de datos, la limpieza de datos, el análisis exploratorio de datos y mucho más. En este artículo, exploraremos con mayor detalle cómo podemos explorar nuestros conjuntos de datos utilizando Pandas, explicando con profundidad y ejemplos prácticos sus funciones y características.

## Cómo instalar Pandas

Para poder usar Pandas, primero es necesario instalarlo. La instalación es un proceso sencillo que se puede hacer utilizando pip, el administrador de paquetes de Python. Aquí está el comando que se debe ejecutar en la terminal:

```python
pip install pandas
```

Este comando solicita a pip que descargue e instale el paquete pandas desde el repositorio de paquetes de Python, PyPI.

## Cómo importar Pandas

Una vez que Pandas esté instalado, es necesario importarlo en tu script de Python para poder usarlo. Por convención, Pandas se importa con el alias `pd`, que permite un acceso más rápido a sus funciones y métodos.

```python
import pandas as pd
```

## Creación de un DataFrame

Pandas puede trabajar con datos de diversas fuentes y formatos como CSV, Excel, SQL, entre otros. Pero para simplificar, en este ejemplo crearemos un DataFrame, que es una estructura de datos bidimensional de Pandas similar a una hoja de cálculo, a partir de un diccionario de Python.

```python
data = {
    'frutas': ['manzanas', 'naranjas', 'plátanos', 'kiwis'],
    'cantidad': [10, 6, 3, 8]
}
df = pd.DataFrame(data)
```

Aquí, `data` es un diccionario que contiene dos listas, 'frutas' y 'cantidad', que actúan como columnas en nuestro DataFrame. El DataFrame resultante `df` tendrá estas columnas y filas que corresponden a los elementos de las listas.

## Exploración y visualización de los datos

Pandas ofrece múltiples formas de inspeccionar y entender nuestros datos. Veamos algunas de las más comunes.

### head()

El método `head()` nos permite obtener un vistazo rápido a los datos mostrando las primeras N filas de nuestro DataFrame. Por defecto, N es 5, pero puedes pasar un número entero para especificar la cantidad de filas que deseas ver.

```python
df.head()
```

### tail()

De forma similar, el método `tail()` nos muestra las últimas N filas de nuestro DataFrame. Por defecto, N es 5, pero también se puede especificar una cantidad diferente.

```python
df.tail()
```

### shape

La propiedad `shape` es muy útil para obtener una idea rápida del tamaño de nuestros datos. Nos devuelve una tupla con la cantidad de filas y columnas de nuestro DataFrame.

```python
df.shape
```

### columns

La propiedad `columns` nos devuelve un objeto Index que contiene los nombres de las columnas del DataFrame.

```python
df.columns
```

### dtypes

El método `dtypes` es esencial para entender el tipo de datos que tenemos en cada columna, nos devuelve una serie con el

 tipo de datos de cada columna.

```python
df.dtypes
```

## Selección de datos

Pandas nos ofrece una gran flexibilidad a la hora de seleccionar ciertos datos para nuestro análisis.

### Selección de Columnas

Podemos seleccionar una columna específica de un DataFrame utilizando su nombre. Por ejemplo, si queremos seleccionar solo la columna 'frutas', usaríamos el siguiente código:

```python
df['frutas']
```

### Selección de Filas

Pandas también nos permite seleccionar filas específicas. Podemos hacerlo por índice o utilizando una condición. 

Seleccionar filas por índice:

```python
df[1:3]
```

Seleccionar filas que cumplan con cierta condición:

```python
df[df['cantidad'] > 5]
```

## Resumen de los Datos

Pandas tiene métodos incorporados que nos ayudan a obtener una comprensión general y estadísticas resumidas de nuestros datos.

### describe()

El método `describe()` proporciona un resumen estadístico de todas las columnas numéricas en el DataFrame. Incluye estadísticas como la media, el mínimo, el máximo, la desviación estándar y los percentiles.

```python
df.describe()
```

### value_counts()

El método `value_counts()` es útil para contar la frecuencia de los valores únicos en una columna. Esto es especialmente útil cuando se trabaja con datos categóricos.

```python
df['frutas'].value_counts()
```

## Manejo de Datos Faltantes

En el mundo real, los conjuntos de datos suelen tener datos faltantes. Afortunadamente, Pandas ofrece una serie de potentes herramientas para tratar con estos casos.

### isnull()

El método `isnull()` retorna una DataFrame del mismo tamaño que el original pero donde los valores son True si el valor original es nulo y False si no lo es.

```python
df.isnull()
```

### dropna()

El método `dropna()` elimina las filas o columnas con valores nulos de un DataFrame.

```python
df.dropna()
```

### fillna()

El método `fillna()` nos permite reemplazar los valores nulos con un valor especificado. Esto puede ser útil en muchos escenarios, por ejemplo, podría ser útil reemplazar los valores nulos con la media de la columna o con un valor constante.

```python
df.fillna(value)
```

En resumen, esta es una introducción detallada pero no exhaustiva a la exploración de conjuntos de datos utilizando la biblioteca pandas de Python. Pandas es una herramienta poderosa con muchas más funciones y capacidades. Te animo a seguir explorando y aprendiendo más sobre esta excelente biblioteca.