Añadiendo nombre a las Columnas y a las Filas.
Introducción
Qué aprenderás sobre la ingeniería de datos
Archivos del curso y Slides
¿Qué es la Ciencia e Ingeniería de Datos?
Roles
Configuración del ambiente
Jupyter Notebooks
Profundizando en tipos de datos
Tipos de datos
Fuentes de datos
ETL
Web scraping
Introducción a las tecnologías web
Realizar solicitudes HTTP con Python
¿Cómo trabajar con un documento HTML?
Analizando un sitio web para encontrar las directivas a utilizar al hacer un web scrapping
Solicitudes a la web: Requests
Implementando nuestro web scrapper: Configuración
Implementando nuestro web scrapper: Obteniendo enlaces del front page
Implementando nuestro web scrapper: Obteniendo artículos
Obtención de datos del Artículo
Persistiendo la información "scrapeada"
Pandas
Introducción a Pandas
Estructura de datos: Series
Estructura de datos: DataFrames
Índices y selección
Data wrangling con Pandas
Creación de la receta: preparando la automatización
¿Cómo trabajar con datos faltantes?
Operaciones con Series y DataFrames
Limpiando detalles adicionales
Limpiando detalles en nuestro proyecto
Enriquecimiento de los datos
Valores duplicados en Jupyter
Valores duplicados en Python
Visualización de datos
Intro a Sistemas de Datos
Introducción a los sistemas de datos
Automatización del Pipeline
Cargando datos a SQLite
Contenido Bonus
¿Por qué usar la nube?
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
DataFrames son simplemente una tabla donde las filas y las columnas tienen etiquetas, se puede construir de diferentes formas pero siempre debemos considerar que la estructura que necesitamos construir para inicializarla tiene que ser bidimensional. Una matriz y puede ser una lista de listas, lista de tuplas, un diccionario de Python u otro DataFrame.
Si solo tenemos una dimensión a eso no le llamamos DataFrame, le llamamos Serie. Cuando utilizamos un diccionario las llaves se convierten en las llaves de la columna.
Aportes 33
Preguntas 0
Añadiendo nombre a las Columnas y a las Filas.
Algo importante en los DataFrame es la manera diferente en que los diccionarios enumeran con respecto a las listas de listas:
En el diccionario cada llave indexa una columna de datos
frame_test = pd.DataFrame({1999: [74,38,96,51],
2000: [57,62,46,96],
2001: [15,1,23,25]})
frame_test
Por eso con este código obtenemos una matriz de 3 columnas y 4 filas
Pero en la lista de listas cada lista indexa una fila de datos
frame_test3 = pd.DataFrame([[74,38,96,51],
[57,62,46,96],
[15,1,23,25]],
columns=[1999,2000,2001,2002])
frame_test3
Por eso con este código obtenemos una matriz de 4 columnas y 3 filas
al igual con las columnas se le puede pasar un argumento para el indice:
frame_test = pd.DataFrame([[200,201,202],
[100,501,202],
[300,251,502]],columns=[1999,2000,2001],index=['comida','bebida','extra'])
frame_test
1999 2000 2001
comida 200 201 202
bebida 100 501 202
extra 300 251 502
que libro puedo tomar como apoyo?
Para el ejemplo con listas hay un error, toca transponer las listas, si comparamos la que se hizo con diccionario es muy diferente a la que se hizo con listas y los resultados son muy diferentes
En el caso que quieran exportar su data frame como una imagen png, pueden instalar el siguiente paquete:
pip install dataframe_image
<import dataframe_image as dfi
def _data_frame(player):
df_player = pd.DataFrame(player._stats, index = [0,1,2,3,4])
dfi.export(df_player, 'df_player.png')>
Para añadir nombre a las filas.
frame_test= pd.DataFrame([[74,38,39],
[34,32,32],
[39,39,23]],columns=[1999,2000,2001], index=['a','b','c'])
frame_test
1999 2000 2001
a 74 38 39
b 34 32 32
c 39 39 23
El orden de los datos entre generar la instancia del dataframe con un dictionario (test1) respecto a una lista de listas (test2). En el primer test se parsea en orden de columnas y en el segundo se hace por filas.
Conocen quizás la manera de ejecutar todas las líneas en Jupyter y no una por una?
Y adicional, existe alguna opción para que se ejecute automáticamente un cuaderno de Jupyter sin necesidad de abrirlo?
Live Demo
# Create the data frame.
emp.data <- data.frame(
emp_id = c (1:5),
emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),
salary = c(623.3,515.2,611.0,729.0,843.25),
start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15", "2014-05-11",
"2015-03-27")),
stringsAsFactors = FALSE
)
# Print the data frame.
print(emp.data)
con esto ya no necesitamos Excel ni nada parecido esto es mejor.
Excelente y entendido
Hice un DataFrame pasandole los valores como variables y me manda NaN, cuando realmente es lo mismo que si lo asiganara directo. ¿Que hice mal?
pandas tiene una sintaxis similar a un diccionario que es muy intuitiva para aquellos familiarizados con Python pero no con pandas. Cada nombre de columna se trata como una clave y los valores de fila se devuelven como el valor. El constructor de objetos DataFrame también acepta un diccionario como una forma de crear un DataFrame.
import pandas as pd
cliente = pd.DataFrame({
"nombre": ["Bob", "Mary", "Mita"],
"cuenta": [123846, 123972, 347209],
"balance": [123, 3972, 7209],
})
print(cliente["nombre"])
0 Bob
1 Mary
2 Mita
Name: nombre, dtype: object
Se va poniendo interesante el tema…
Super Clase,
Un dataframe es simplemente una tabla donde las filas y las columnas tienen etiqueta.
muy buena clase.
Muy buena clase y las observaciones de los compañeros sobre el orden de las columnas en las listas.
interesante!
<#dataframes
frame_test = pd.DataFrame({1999:[5,77,89],
2000:[12,32,00],
2009:[90,22,55]})
frame_test
frame_test = pd.DataFrame([[5,77,89],
[12,32,00],
[90,22,55]], columns=[2007,2008,2009])
frame_test>
excelente clase
El keywords para colocar las filas es index ,como ejemplo:
columns= [2000,2001,2002], index = ['a','b','c'])```
Para asignarle nombres a las filas:
index=['texto 1', 'texto 2', 'texto 3']
frame_test2 = pd.DataFrame([[74, 52, 32],
[85, 64, 54],
[45, 67, 33]],
columns=[1999, 2000, 20001],
index=['texto 1', 'texto 2', 'texto 3'])
frame_test2
Excelente Clase
frame_test2 = pd.DataFrame([[74, 38, 39],
[34, 32, 32],
[23, 39, 23]], columns=[1999, 2000, 2001])
frame_test2```
saludos aqui mi codigo…
frame_test = pd.DataFrame({1999: [74, 38, 39],
2000: [34, 32, 32],
2001: [23, 39, 23]})
frame_test```
excelente tema.
⚠️CUIDADO⚠️
.
Hay tener precaución al momento de utilizar el método opcional Columns, ya que toma arma la columna utilizando el mismo índice de cada lista. Contrario a como lo hacemos al nombrar la llave en donde los valores de la columna corresponden a una sola lista.
.
En los ejemplos de la clase se puede ver:
Frame_Test:
frame_test = pd.DataFrame({1999: [74, 38, 39],
2000: [34, 32, 32],
2001: [23, 39, 23]})
frame_test
Resultado:
.
Frame_Test2:
frame_test2 = pd.DataFrame([[74, 38, 39],
[34, 32, 32],
[23, 39, 23]], columns=[1999, 2000, 2001])
frame_test2
frame_test3 = pd.DataFrame([[74,38,28],
[14,25,97],
[74,4,9]],
columns=[1999, 2000, 2001],
index=['Francisco', 'Isabel', 'Juanda'])
frame_test3
1999 2000 2001
Francisco 74 38 28
Isabel 14 25 97
Juanda 74 4 9
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.