Un DataFrame de pandas es una estructura de datos bidimensional, similar a una tabla de una hoja de cálculo o una base de datos, que organiza los datos en filas y columnas con etiquetas. Cada columna puede contener diferentes tipos de datos y tiene un índice (etiqueta) para las filas y otro para las columnas, lo que permite manipular datos de manera eficiente en análisis y ciencia de datos.
Características principales
- Estructura tabular: Se organiza en filas y columnas, como una hoja de cálculo de Excel.
- Bidimensional: Es una estructura de dos dimensiones (filas y columnas).
- Etiquetado: Tiene un índice para las filas y nombres para las columnas, permitiendo el acceso a los datos por etiqueta.
- Tipos de datos heterogéneos: Cada columna puede contener datos de diferentes tipos (por ejemplo, números, texto, etc.).
- Similar a diccionarios de Python: Cada columna es una “Series” de pandas, y el DataFrame se puede ver como un diccionario donde las claves son las columnas y los valores son las Series.
A través de un DataFrame tenemos acceso a una serie de visualizaciones.
Generar un DataFrame:
- Leer una tabla de fichero:
import pandas as pd df = pd.read_csv('data.csv') # df es un DataFrame
- Generar un DataFrame a partir de listas
data = [] for i in range(5): # generate some random data to illustrate a, b, c, d, e = i, i**2, i+1, i*10, i/2 data.append([a, b, c, d, e]) # data es una ‘lista de listas’. La lista anidada contiene 5 elementos df = pd.DataFrame(data, columns=['a', 'b', 'c', 'd', 'e']) print(df)
- Generar un DataFrame a partir de un diccionario
data={'a':[1,2],'b':[4,6]} df = pd.DataFrame(data)
Visualizar:
df.plot(kind= argument)
Tipos
Kind | Function | Typical Use |
‘line’ | df.plot.line() | Trends, time series |
‘bar’ | df.plot.bar() | Categorical comparisons |
‘barh’ | df.plot.barh() | Horizontal bar chart |
‘hist’ | df.plot.hist() | Distribution of values |
‘box’ | df.plot.box() | Statistical summary (min, Q1, median, etc.) |
‘kde’ / ‘density’ | df.plot.kde() | Smoothed density curve |
‘area’ | df.plot.area() | Cumulative values or composition |
‘pie’ | df.plot.pie() | Proportions of categories |
‘scatter’ | df.plot.scatter(x=’col1′, y=’col2′) | Relationship between two variables |
‘hexbin’ | df.plot.hexbin(x=’col1′, y=’col2′, gridsize=25) | Density of 2D points |
import pandas as pd import matplotlib.pyplot as plt df.plot() plt.show() ax = df.plot() plt.savefig("plot1.png") plt.close()