Python se utiliza ampliamente como lenguaje de análisis de datos debido a sus sólidas bibliotecas y herramientas para administrar datos. Entre estas bibliotecas se encuentra Pandas, que facilita la manipulación y el análisis de la exploración de datos. usaremos pandas analizar un conjunto de datos llamado Datos-país.csv de Kaggle. Mientras trabajamos con estos datos, también introducimos algunos conceptos importantes en Pandas.
1. Instalación
La forma más sencilla de instalar pandas es utilizar pip:
Pythonpip install pandas
o descargarlo desde aquí .
2. Creando un marco de datos en Pandas
A Marco de datos es una estructura de datos similar a una tabla en Pandas que tiene datos almacenados en filas y columnas. Se puede crear un DataFrame pasando múltiples objetos de la serie Python al DataFrame clase ( pd.DataFrame() ) usando el pd.Series método. En este ejemplo se utilizan dos objetos Serie: s1 como la primera fila y s2 como la segunda fila.
Ejemplo 1: creación de un marco de datos a partir de una serie:
Pythonimport pandas as pd # Creating two Series: s1 (numbers) and s2 (names) s1 = pd.Series([1 2]) s2 = pd.Series(['Ashish' 'Sid']) # Creating DataFrame by combining Series as rows dataframe = pd.DataFrame([s1 s2]) # Displaying the DataFrame print(dataframe)
Producción:
Ejemplo 2: Marco de datos de una lista con índice personalizado y nombres de columnas:
Pythondataframe1 = pd.DataFrame([[1 2] ['Ashish' 'Sid']] index=['r1' 'r2'] columns=['c1' 'c2']) print(dataframe1)
Producción:
Ejemplo 3: Marco de datos de un diccionario:
Pythondataframe2 = pd.DataFrame({ 'c1': [1 'Ashish'] 'c2': [2 'Sid'] }) print(dataframe2)
Producción:
3. Importar datos con Pandas
El primer paso es leer los datos. En nuestro caso, los datos se almacenan como un archivo CSV (valores separados por comas) donde cada fila está separada por una nueva línea y cada columna por una coma. Para poder trabajar con los datos en Python es necesario leer el csv archivo en un marco de datos de Pandas.
Pythonimport pandas as pd # Read Country-data.csv into a DataFrame df = pd.read_csv('Country-data.csv') # Prints the first 5 rows of a DataFrame as default df.head() # Prints no. of rows and columns of a DataFrame df.shape
Producción:
(167 10)4. Indexación de marcos de datos con Pandas
Pandas proporciona poderosas capacidades de indexación. Puede indexar DataFrames usando ambos basado en la posición y basado en etiquetas métodos.
Indexación basada en posiciones (usando iloc ):
# prints first 5 rows and every column which replicates df.head() df.iloc[0:5:] # prints entire rows and columns df.iloc[::] # prints from 5th rows and first 5 columns df.iloc[5::5]
Producción:
Indexación basada en etiquetas (usando loc ):
La indexación se puede trabajar con etiquetas utilizando el pandas.DataFrame.loc Método que permite indexar usando etiquetas en lugar de posiciones.
Ejemplos:
Python# prints first five rows including 5th index and every columns of df df.loc[0:5:] # prints from 5th rows onwards and entire columns df.loc[5::]
Producción:
En realidad, lo anterior no se ve muy diferente de df.iloc[0:5:]. Esto se debe a que, si bien las etiquetas de fila pueden tomar cualquier valor, nuestras etiquetas de fila coinciden exactamente con las posiciones. Pero las etiquetas de las columnas pueden facilitar mucho las cosas cuando se trabaja con datos.
Ejemplo:
Python# Prints the first 5 rows of Time period # value df.loc[:5'child_mort']
Producción:
5. Matemáticas de marco de datos con pandas
Pandas facilita la realización de operaciones matemáticas con los datos almacenados en marcos de datos. Las operaciones que se pueden realizar en pandas están vectorizadas, lo que significa que son rápidas y se aplican automáticamente a todos los elementos sin utilizar bucles.
Ejemplo: matemáticas por columnas:
Python# Adding 5 to every element in column A df['child_mort'] = df['child_mort'] + 5 # Multiplying values in column B by 10 df['exports'] = df['exports'] * 10 df
Producción:
Funciones estadísticas en Pandas:
conversión de int a cadena
El cálculo de marcos de datos se puede realizar mediante el uso de funciones estadísticas de las herramientas pandas. Podemos utilizar funciones como:
df.sum()→ suma de valoresdf.mean()→ promediodf.max()/df.min()→ valores máximo y mínimodf.describe()→ resumen rápido de estadísticas
# computes various summary statistics excluding NaN values df.describe() # Provides sum of all the values for each column df.sum()
Producción:
6. Visualización de datos con Pandas y Matplotlib
Pandas es muy fácil de usar con Matplotlib una poderosa biblioteca utilizada para crear gráficos y gráficos básicos. Con sólo unas pocas líneas de código podemos visualizar nuestros datos y comprenderlos mejor. A continuación se muestran algunos ejemplos sencillos que le ayudarán a empezar a trazar utilizando Pandas y Matplotlib:
Python# Import the library first import matplotlib.pyplot as plt
Histograma
Un histograma muestra la distribución de valores en una columna.
Pythondf['income'].hist(bins=10) plt.title('Histogram of Income') plt.xlabel('Income Value') plt.ylabel('Frequency') plt.show()
Producción:
Diagrama de caja
A diagrama de caja Es útil para detectar valores atípicos y comprender la distribución de datos.
Pythondf = df.head(10) plt.figure(figsize=(20 6)) # Increase width to make x-axis labels clearer df.boxplot(column='imports' by='country') plt.title('Boxplot by Country') plt.suptitle('') # Removes default title plt.xlabel('Country') plt.ylabel('Imports') plt.xticks(rotation=45) # Optional: Rotate x-axis labels for better visibility plt.tight_layout() # Adjust layout to avoid clipping plt.show()
Producción:
Diagrama de dispersión
A diagrama de dispersión Muestra la relación entre dos variables.
Pythonx = df['health'] y = df['life_expec'] plt.scatter(x y label='Data Points' color='m' marker='*' s=30) plt.xlabel('Health') plt.ylabel('Life Expectancy') plt.title('Scatter Plot of Health vs Life Expectancy') plt.legend() plt.show()
Producción:
Artículo relacionado:
- Introducción a los pandas
- Trazado de gráficos en Python
- Trabajar con archivos csv en Python
- Marco de datos de Pandas
- Introducción a Matplotlib
- Histograma: definición de tipos, gráficos y ejemplos
- Diagrama de caja
- Diagrama de dispersión