No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Quedan menos de 24 hrs para aprender Ingl茅s, AI y m谩s a precio especial.

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

0 D铆as
1 Hrs
12 Min
30 Seg

Medidas de tendencia central en Python

8/25
Recursos

Aportes 168

Preguntas 29

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Reto

Bueno, como a m铆 tambi茅n me gustan los Audi, pero no las camionetas, ni los tope de gama, har茅 el filtro para el A5.
Aqu铆 ya me muestra los Audi A5 y todos sus detalles:

Hacemos el un diagrama de frecuencias entre el precio por a帽o del modelo

Conclusi贸n: El modelo del A5 ideal para mi ser铆a entre el 2009 y 2011, por la relaci贸n precio utilidad que le dar茅 (en un futuro no muy lejano, jejejeje)

Tambi茅n me llama la atenci贸n, cu谩ntos modelos del a5 salieron con transmisi贸n manual y vemos que鈥

hay solo 2 jajajaja. Es una decepci贸n.

Y para finalizar, vamos a hacer varios diagramas de frecuencias con sus respectivas conclusiones entre:
.

El precio en relaci贸n el tipo de motor:

Los carros a di茅sel son m谩s caros que los de gasolina.
.

Como influye el color en el precio del auto:

Los colores m谩s caros son los m谩s feos, xd. Y claro, tambi茅n los menos com煤nes.
.

Y la ubicaci贸n con el precio del auto.

驴Eso es Ruso? Creo que si, por lo tanto, comprarse un carro es muy caro en Rusia. Rusia descartada para emigrar, jejeje.

Dato curioso: 驴Cu谩l es la diferencia entre un diagrama de frecuencias (gr谩fica de barras) y un histograma

.
El diagrama de frecuencias (gr谩fica de barras) sirve para representar las variables cualitativas ordinales. En el eje horizontal se representan las diferentes categor铆颅as y sobre 茅l se levantan unas columnas o barras cuya altura es proporcional a la frecuencia de cada categor铆颅a. Tambi茅n podr铆颅amos utilizar este tipo de gr谩fico para representar variables cuantitativas discretas, pero lo que no es correcto hacer es usarlo para las variables cualitativas nominales.
El gran m茅rito del diagrama de barras es expresar la magnitud de las diferencias entre las categor铆颅as de la variable. Pero ah铆颅 est谩 precisamente, su punto d茅bil, ya que son f谩cilmente manipulables si modificamos los ejes.
.
El histograma es un gr谩fico con un significado mucho m谩s profundo. Un histograma representa una distribuci贸n de frecuencias que se utiliza (o debe) para representar la frecuencia de las variables cuantitativas continuas. Aqu铆颅 no es la altura, sino el 谩rea de la barra lo que es proporcional a la frecuencia de ese intervalo, y est谩 en relaci贸n con la probabilidad con la que cada intervalo puede presentarse.
Otra diferencia muy importante entre el diagrama de barras y el histograma es que en el primero solo se representan los valores de las variables que hemos observado al hacer el estudio. Sin embargo, el histograma va mucho m谩s all谩, ya que representa todos los valores posibles que existen dentro de los intervalos, aunque no hayamos observado ninguno de forma directa. Permite as铆颅 calcular la probabilidad de que se represente cualquier valor de la distribuci贸n, lo que es de gran importancia si queremos hacer inferencia y estimar valores de la poblaci贸n a partir de los resultados de nuestra muestra.

Soluci贸n al reto

No tenia un modelo especifico en mente, as铆 que lo primero que hize fue ver cuales eran las marcas de autos con mas datos.

Eleg铆 a Nissan, tenia una noci贸n de los modelos de esta marca pero lo que hize fue volver a listar el dataset de Nissan por marcas

Me incline por 鈥淧rimera鈥 y realize el filtrado adem谩s inclu铆 煤nicamente a los modelos a partir del 2000, les dejo un tip tambi茅n se puede hacer el condicional usando la funci贸n query de pandas a mi criterio es mas f谩cil.

nissan_df=df.query('manufacturer_name=="Nissan" and model_name=="Primera" and year_produced>=2000')

El resultado fue el siguiente

Conclusi贸n

Lo que me llamo mas la atenci贸n fue que del modelo mas carro solo existe informaci贸n de un solo auto por lo que hubiese podido sesgar nuestro an谩lisis para este caso especifico. Les dejo el link de mi repositorio de deepnote. 馃槂
https://deepnote.com/project/CursoEstadisticaDescriptiva-xA8JQdncQF2M2hTiCdgZUw/%2FCarsAnalitycs.ipynb

馃挕 Si es de las primeras veces que trabajas con Pandas, te comparto un tutorial para que aprendas desde cero y paso a paso todo lo fundamental que necesitas:

Gu铆a definitiva para dominar Pandas 馃挌

Sinceramente Pandas era todo lo que necesitaba para mejorar mi productividad con el an谩lisis de Datos y ahora con Deepnote todo ser谩 m谩s organizado, estoy que lloro de la alegr铆a 鉂わ笍

black_cars = df[(df['color'] == 'black')  & (df['price_usd'] <= 20000)  & (df['year_produced'] >= 2017)]
sns.histplot(black_cars, x = 'price_usd', hue = 'year_produced')

Otra funci贸n muy 煤til de Seaborn, pairplot entrega mucha informaci贸n contrastada de variables que escojamos.
Ac谩 se puede ver que el kilometraje es tambi茅n relevante respecto del precio, entre otras cosas.

import seaborn as sns
sns.set(style="ticks", color_codes=True)
sns.pairplot(df,vars = ['price_usd', 'odometer_value','year_produced'], hue="engine_type")
plt.show()

MI reto

Comandos de la clase:
Importar libreria

import pandas as pd 

Obtener datos de un archivo csv:

df = pd.read_csv('nombreArchivo.csv')

Para obtener el valor promedio de una columna:

df['nombre_columna'].mean()

Para obtener la mediana de una columna:

df['nombre_columna'].median()

Para obtener histograma:

df['nombre_columna'].plot.hist(bins=#intervalos)

Esta librer铆a nos brinda visualizaci贸n estad铆stica

import seaborn as sns

Vamos a generar histogramas de datos num茅ricos de una columna por cada valor categ贸rico de otra columna.

sns.displot(nombre_dataframe, x = 'nombre_columna_numerico, hue = 'nombre_columna_categorias')

para visualizar las barras apiladas 煤til al ver diferentes histogramas

sns.displot(df, x='price_usd', hue = 'engine_type', multiple='stack')

para poder agrupar los datos por categ贸ricos y luego sabe cuantos hay de cada uno

df.groupby('columna_categorica').count()

vamos a filtar a los autos de la clase q7 y que sean Audi

Q7_df = df[(df['manufacturer_name']=='Audi') & (df['model_name']=='Q7')]

Reto

Analice como se han producido los autos con los a帽os y encontr茅 que antes se fabricaban m谩s autos mec谩nicos! pero la tendencia ahora es la producci贸n de autom谩ticos.

Y luego revise los precios de veh铆culos de acuerdo por su transmisi贸n y los autos automatices son m谩s costosos que los mec谩nicos.

Conclusi贸n
Ahora se fabrican m谩s autos autom谩ticos que antes y el valor de estos es m谩s alto.

Yo eleg铆 un Subaru y modelo Outback

Q7_df = df[(df['manufacturer_name']=='Subaru') & (df['model_name']=='Outback')]
sns.histplot(Q7_df, x='price_usd', hue='year_produced')

Muy bonita visualizaci贸n con Seaborn

Si quieren solo contar los valores de los tipos de motor:

df['engine_type'].value_counts()

I like Subaru cars and I made this graphic to watch prices after the 2013

cars_df = pd.read_csv("cars.csv")

subaru_cars_df = cars_df[(cars_df["manufacturer_name"] == "Subaru") & (cars_df["year_produced"] >= 2013)]

sns.histplot(data = subaru_cars_df, x = "price_usd", hue = "model_name", multiple = "stack")

Yo elegi Honda Civic y este fue el resultado

Medidas de Tendencia central con python

  • Cuando tenemos datos continuos, no podemos representar el diagram de frecuencias, pero usamos un diagrama equivalente: el histograma, agrupando los valores por rangos, una manera de representarlo por el m茅todo hist de pandas: df.hist(bins=n) # bins representa el n煤mero de barras (divisiones) a representar
  • Una librer铆a muy 煤til para la visualizacion de datos es la librer铆a seaborn: import seaborn as sns, por ejemplo podemos realizar un diagrama de distribucion, agrupando los datos: sns.distplot(df,x='columna_datos',hue='columna_agrupacion', multiple='stack')
  • Es importante hacer un an谩lisis exploratorio para ver c贸mo se comportan los datos y trabajar con informaci贸n relevante.
  • La estadistica descriptiva consta de n煤meros y visualizaciones, que nos permitan resumir y entender los datos

Como recurso para aprender Pandas recomiendo el libro Python For Data Analysis de Wes McKinney, en el cual tambi茅n se puede aprender Numpy, que es otra librer铆a muy utilizada en ciencia de datos.

Comparto mi soluc铆贸n al reto:

  1. Exploraci贸n de datos, buscando que marcas existen en el Dataframe.
  1. Buscando que modelos existen de la marca que escog铆 (Peugeot).
  1. Creando un DataFrame filtrado que contenga unicamente la marca y modelo que escoj铆 ( Peugeot 806)
  1. Haciendo un histograma de la maca y modelo seleccionada, por precio y a帽o de fabricaci贸n.

Reto
Otro ejemplo seria una Jeep modelo Grand Cherokee y de color negro los resultados nos muestra:

El precio en relaci贸n de la region

n= df[(df['manufacturer_name']=='Nissan')&(df['transmission']=='mechanical') &(df['year_produced']>2000)& (df['engine_type']=='gasoline')&(df['model_name']=='Almera')]
sns.histplot(n,x='price_usd',hue='year_produced')

dejo mi b煤squeda con Mazda modelo 3.

Reto

Rs_df=df[(df['manufacturer_name']=='Renault') & (df['model_name']=='Sandero')]
Rs_df
sns.histplot(Rs_df, x = 'price_usd', hue = 'year_produced')

Hola, saque uno de solo los mazda modelo posterior a 2010 y los grafique por precio y el nombre del modelo.

es increible lo que se puede hacer

Reto:
Como no se de carros, me propuse analizar si existe una correlacion entre el precio del carro y el color(Para evitar valores atipicos en todas las operaciones use la mediana)
Realice esta grafica:

dfc=df.groupby('color')[['price_usd']].median()
sns.histplot(dfc,x='price_usd',y='color',hue='color', multiple='stack', bins=10)


Donde podemos observar que los carros color Cafe, Negro Blanco y Gris son los mas costosos; seguidos el plata y el naranja.
Pero en la vida real uno casi no ve carros Cafes entonces me surgi贸 la duda de porque este color es el mas costoso.(Mis suposiciones eran que en la tabla los carros Cafes eran los mas nuevos y por eso aparentaban que el color es el mas costoso). Asi que realice una tabla de fechas vs precio.

import matplotlib.pyplot as plt 
dfy=df.groupby('year_produced')[['price_usd']].mean()
sns.histplot(dfy,x='price_usd',hue='year_produced', multiple='stack')
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) ##Entre mas Oscuro el color mas reciente 

En esta grafica efectivamente pude observar que los carros mas nuevos eran un extremo de la grafica que afectaba mis valores ya que la mayoria eran carros baratos y viejos. Por lo que separa el DataSet entre los carros del a帽o 2000 en adelante y los carros menores al a帽o 2000.

x=list(range(2000,2020))
df2=df[df['year_produced'].isin(x)] ##Carros nuevos >2000
df3=df[~df['year_produced'].isin(x)] ##Carros viejos <2000

Grafica de carros Viejos:

df3m=df3.groupby('color')[['price_usd']].median()
sns.histplot(df3m,x='price_usd',hue='color',multiple='stack',y='color')
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)

Grafica de Carros Nuevos:

df2m=df2.groupby('color')[['price_usd']].median()
sns.histplot(df2m,x='price_usd',hue='color',multiple='stack',y='color')
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)

Despues de observar estas graficas separadas Podemos concluir que los Carros que verdaderamente son mas costosos basados en su color son el Negro, el Naranja y el Blanco. Pudimos observar que el sesgo de informacion afectaba el resultado inicial donde nos indicaba que el color Cafe es el mas caro y el Naranja casi ni figuraba.

Explorando DEEPNOTE se debe tener en cuenta las may煤sculas y min煤sculas, hice el experimento con min煤scula y arrojo un 鈥淣ameError鈥

Reto

Realice el ejemplo con Legacy:

RETO
Mazda 6

Aqui mi aporte para automatizar el an谩lisis: ```js print(df['manufacturer_name'].unique()) print('^'*20) manufacturer = input('Based on the list showed, select the Manufacturer') cars_df= df[df['manufacturer_name']==manufacturer] print(cars_df['model_name'].unique()) print('^'*20) model = input('Please now choose the model') new_df= df[(df['manufacturer_name']==manufacturer) & (df['model_name']==model)] sns.displot(new_df, x='price_usd', bins= 20, hue= 'year_produced', multiple = 'stack'); ```print(df\['manufacturer\_name'].unique())print('^'\*20)manufacturer = input('Based on the list showed, select the Manufacturer')cars\_df= df\[df\['manufacturer\_name']==manufacturer]print(cars\_df\['model\_name'].unique())print('^'\*20)model = input('Please now choose the model')new\_df= df\[(df\['manufacturer\_name']==manufacturer) & (df\['model\_name']==model)]sns.displot(new\_df, x='price\_usd', bins= 20, hue= 'year\_produced', multiple = 'stack');
Les dejo mi reto; busque el Audi S8. Es interesante que es una muestra peque帽a (por lo que es un carro de lujo) ![](https://static.platzi.com/media/user_upload/image-6283ebdd-b34d-4d10-9d58-700f06a80856.jpg)
![](https://static.platzi.com/media/user_upload/image-fb6b831e-d6f6-4714-b7dc-8ee02cdbfb5e.jpg) `Q7_df = df[(df['manufacturer_name']== 'Volkswagen' ) &(df['model_name']=='Fox') ]sns.histplot( Q7_df, x='price_usd', hue= 'year_produced')` `# Agrupa por el valor de 'model_name' y cuenta el n煤mero de registros en cada grupocounts = df.groupby(df['model_name'] == 'Fox').size()` `# Muestra el resultadoprint(counts)`
Para listas: ```js import statistics as st print(st.mean(N)) ```
Reto: Hice el ejercicio para marca: Kia, modelo: Sportage. No se porqu茅 me daba error y tuve que importar nuevamente pandas y seaborn y definir el data frame. ![](https://static.platzi.com/media/user_upload/image-f631bab1-4e84-43e5-b767-eae46b01203c.jpg) Este es el histograma. Los modelos que me interesan est谩n entre 10.000 USD y 20.000 USD, veo que en ese rango de precios hay de a帽os recientes.
Reto: Hice el ejercicio para la marca Kia y el modelo Sportage: ![](https://static.platzi.com/media/user_upload/image-307e0db1-8c91-4736-8f6b-5f9ad76184e4.jpg)![]()![]()![]()
Hice un gr谩fico que podr铆a resultar interesante. ![](https://static.platzi.com/media/user_upload/image-ede13461-6932-4b41-950f-ad6e592b3113.jpg) Linealic茅 mediante un logaritmo el precio al notar que su comportamiento era pr谩cticamente exponencial, al ser linealizado es pr谩cticamente lineal de forma casi perfecta (con seguridad un modelo de regresi贸n lineal ser铆a estad铆sticamente significativo).\ Cambi茅 adem谩s los ejes, pues me parec铆a que se tiene m谩s facilidad para leer un gr谩fico temporal cuando los a帽os est谩n en el eje X, y la variable respecto del a帽o en el eje Y. Finalmente a帽ad铆 un hue seg煤n la capacidad de combustible. Descubr铆 con emoci贸n que no solo el precio de un auto con este motor incrementa entre m谩s reciente sea el modelo, si no que sus ventas incrementan mucho en veh铆culos fabricados despu茅s de 2005, y adem谩s que su precio est谩 casi perfectamente relacionado a su capacidad de combustible dentro de un mismo a帽o.
Hola! Para aquellos que est茅n utilizando Visual Studio Code y requieran imprimir las graficas generadas por panas. Es necesario haber instalado previamente el pip matplotlib y en el c贸digo importarlo, para as铆 poder utilizar el comando plt.show(): ![](https://static.platzi.com/media/user_upload/image-c22546b9-a11f-493e-a23e-e207a1d64f4b.jpg) ![](https://static.platzi.com/media/user_upload/image-5ba593ac-a26e-4a01-bd65-ab07f8f2c07c.jpg)
Hola, si haces el codigo desde deepnote y no compila import seaborn as sns sns.displot(df, x="price\_usd", hue=" Aqui la informacion de la tabla"), no lo escribiste mal, es un error de version ya que el video es de python .7 y actualmente python es 3 asi que lo ideal es cambiar la kernel a anaconda o conda

RETO
En mi caso me decante por los autos Acura y de modelo 鈥淢DX鈥. No conozco mucho de carros asi que elegi el que combenia mejor. Segun los resultados:
![](
Deduje que la mayor venta de estos carros fue en 2007 y eso lo complemente con la grafica:
![](
La conclusion que llegue es que estos autos estaban de moda y su mayor produccion fue entre el a帽o 2006 y 2007 donde estos carros llegaron a un apogeo grande.

Reto:![](https://static.platzi.com/media/user_upload/image-7b13cff4-76d3-475a-b0b1-fbbd1be6222b.jpg)
Esta muy bueno el curso, y como vamos llevando a la practica cada cosa. No queda todo en el aire o en los slides
Lo siento, soy un hondero jejeje ![](https://static.platzi.com/media/user_upload/image-bb6e8657-15e4-4867-836b-156ad1c137cd.jpg)
Hice esta gr谩fica con los datos del BMW X6![](https://static.platzi.com/media/user_upload/image-2a099ffb-6edc-4f08-b592-b4c7ce622e45.jpg)

Primero eleg铆 el segmento de 鈥榮uvs鈥 de la marca BWM:

BMW_df = df[(df['manufacturer_name'] == 'BMW') & (df['body_type'] == 'suv')]

Segundo, agrupe y cont茅 por color buscando el m谩s frecuente en esta marca de autos lujosos:

BMW_df.groupby('color').count()

Este fue el resultado:

![](

Como se espera, el color mas com煤n es el negro o 鈥榖lack鈥.

Tercero, proced铆 a filtrar solamente estos autos negros

BMW_back_df = BMW_df[(BMW_df['color'] == 'black')]
BMW_back_df

Ahora tengo los BMW, negros y cuya categor铆a son SUV:

![](

Finalmente me pareci贸 importante saber la cantidad de kil贸metros recorridos por cada Modelo, lo cual me arrojo que el modelo X5, no es una buena opci贸n, ya que el auto con m谩s en la secci贸n de SUVs:

sns.displot(BMW_back_df, x='odometer_value', hue = 'model_name', multiple='dodge')

![](

Fin del reto.

Valide si hab铆a alg煤n cl谩sico antiguo de lujo , y no.

princeHigh_df = df[df['price_usd'] > 40000]
sns.displot(princeHigh_df,x='price_usd',hue = 'year_produced')

Histograma con los tipos de cuerpo de carros con precio por debajo de los 15000 usd, transmisi贸n mec谩nica, y de color plata, en funci贸n del tipo de ingenier铆a(gasolina o di茅sel).
Us茅 el argumento multiple = 鈥渟tack鈥 para comparar cu谩l hay mas de uno que de otro y stat=鈥渇requency鈥 para ver la cantidad de veces que se repite cada uno. Ah铆 dejo captura鈥 馃槂

Mi reto:
Yo uso un Kia Picanto 2017, queria comparar su precio si quisiera venderlo, pero logre constatar que de este modelo no se encuentra en el catalogo:

Filtre por camionetas Q3 pero utilice el codigo Palette para ver mayor diferencia visualmente en los a帽os.

Seleccione la marca 鈥淪ubaru鈥 y el modelo 鈥淴v鈥

  • Filtre inicialmente por la marca y el modelo
sb_df = df[(df["manufacturer_name"]=="Subaru" ) & (df["model_name"]=="XV") & (df["transmission"]=="automatic")]
sb_df
  • Grafique con la variable categ贸rica de precio en el eje, haciendo un hue por el a帽o de fabricaci贸n, con el par谩metro multiple=鈥渄odge鈥 se separan las barras
sns.histplot(sb_df, y="price_usd", bins=7, hue="year_produced", multiple="dodge")

Como conclusiones

  • Hay 5 carros entre 13.000 a 14.000 d贸lares aproximadamente de los cuales la mayor铆a fueron fabricados en el 2012

De mi lado escogi el Ford Mustang

Mustang_df= df [(df["manufacturer_name"]=="Ford") & (df["model_name"]=="Mustang")]
Mustang_df
sns.histplot(Mustang_df, x="price_usd", hue ="year_produced")

Aqu铆 mi reto de la clase

Obtuve los datos de los autos VW Golf que fueron porducidos despu茅s del 2010. Obtuve la media y la mediana de esos valores y despu茅s obtuve el histograma con seaborn del precio con el color de los autos.

El curso de matplotlib y seaborn es muy bueno para entender c贸mo hacer distintos tipos de grafica

RETO

En mi caso yo me inclin茅 por analizar los modelos Yaris de la marca Toyota.

Q8_df = df[(df['manufacturer_name']=='Toyota')&(df['model_name']=='Yaris')]
sns.histplot(Q8_df, x='price_usd', hue='year_produced')
  • Histograma de precio vs cantidad producidos por a帽o

  • Histograma por tipo de motor

  • Histograma precio segun color

Se filtr贸 por la marca de veh铆culos Toyota que usan combustible como Diesel. En el grafico se quiso representar la cantidad de autos producida por a帽o, adem谩s de estar segmentado por el tipo de transmisi贸n que estos tienen.

<import seaborn as sns
Q7_df = df[(df['manufacturer_name']=='Toyota')&(df['model_name']=='Hilux')]
sns.histplot(Q7_df, x='price_usd', hue='color')> 

Un histograma para el color de autos que estan en estado={propiedad o emergencia}, solo para los que son 鈥楽ubaru鈥 del modelo 鈥楩orester鈥

Una marca que me gusta mucho son los Toyota, y en particular el RAV4, as铆 que decid铆 hacer de este modelo.

Jugando con el histograma

Para los que tengan problemas porque la leyenda se les superpone en la gr谩fica y no los deja ver el contenido, les sugiero usar sns.move_lengend() as铆:

ax = sns.histplot(data=GS_df, x='price_usd', hue='year_produced', multiple='stack')
sns.move_legend(ax, bbox_to_anchor=(1.02, 1), loc='upper left')

Estuve buscando y aparec铆a que utilizara plt.legend() pero al final desaparec铆a la leyenda.

Espero les sea 煤til! 馃憤

para importar seaborn desde VSC primero hay que instalarlo:

pip install seaborn

y ya con eso importan seaborn como escribe el profe.

Buena clase.

Yo utilic茅 Subaru Impreza

impresa_df = df[(df['manufacturer_name']=='Subaru') & (df['model_name']=='Impreza')]
sns.histplot(Impresa_df, x='price_usd', hue = 'year_produced')

Ac谩 podemos ver la cantidad de veh铆culos LADA Vesta por tipo de transmisi贸n y la cantidad de veh铆culos con transmisi贸n mec谩nica o autom谩tica por a帽o de producci贸n

lada_niva_df =df[(
	df['manufacturer_name']== 'LADA') & 
	(df['model_name']=='Vesta')]

fig, ax = plt.subplots(1,2, figsize=(10,5))
fig.suptitle("Ejemplos medidas de tendencia central")
sns.histplot(
	lada_niva_df, 
	x ='price_usd',
	hue = 'transmisi贸n',
	palette = 'viridis' , 
	ax = ax[0])
sns.histplot(
	lada_niva_df, 
	x ='year_produced',
	hue = 'transmisi贸n', 
	palette = 'viridis', 
	ax=ax[1])
df[df['model_name'] == 'Outback'].loc[:,'price_usd'].plot.hist(bins=10)

Reto

Aqu铆 les dejo la visualizaci贸n de un modelo que a mi me gusta. Tambi茅n amo los Audi 馃憣馃憞

Para que tengan una mejor visualizaci贸n de la gr谩fica de displot, agreguen el hyperparametro 鈥渉eight鈥

sns.displot(df, x = 'price_usd', hue = 'manufacturer_name', height=12); 

Ac谩 el filtro de la marca y modelo que me gusta:

juke_df = df[(df['manufacturer_name']=='Nissan') & (df['model_name']=='Juke')]
sns.histplot(juke_df, x='price_usd', hue = 'year_produced')

Informaci贸n resumida de esta clase
#EstudiantesDePlatzi

  • Recordemos que la moda es el valor que m谩s se repite

  • El comando describe, me arroja un grupo de datos estad铆sticos descriptivos necesarios para entender de manera estad铆stica mi dataset

  • Para obtener el promedio utilizo el comando mean y selecciono la columna a la que deseo obtener el promedio

  • Cuando tenemos datos num茅ricos continuos, es decir, con decimales y queremos ver algo como el diagrama de frecuencia, lo mejor es utilizar una gr谩fica de histograma

  • Con el histograma puedo ver si existen datos at铆picos que puedan afectar 茅l mean

  • Seaborn es una librer铆a con enfoque en la estad铆stica

  • Es importante tener claro que el objetivo de una gr谩fica es que nos muestre informaci贸n clara y nada confusa

  • Hacer conteo de datos es una manera de hacer estad铆stica descriptiva

  • Con el comando groupby puedo agrupar los datos que yo desee, siempre y cuando esta sea una columna categ贸rica

  • La estad铆stica descriptiva no son solo n煤meros, son visualizaciones

Mi reto: Quer铆a ver la distribuci贸n del precio de los Porsche Cayenne que se construyeron del 2010 en adelante.

Porsche_df = df[(df['manufacturer_name']=='Porsche') & (df['model_name']=='Cayenne') & (df['year_produced'] > 2009)]
sns.histplot(Porsche_df, x = 'price_usd', hue = 'year_produced') 

RETO

La verdad no tengo idea de carros, pero los agrup茅 por colores. 馃槂

  • Cuantos carros de modelo Legacy y de frabricante Sabaru EXISTEN?
Qme_df = df[ (df['manufacturer_name'] == 'Subaru')  & (df['model_name'] == 'Legacy') ]

Grfica

sns.displot(data=Qme_df, x='price_usd', hue= 'color');

Realice este diagrama discriminando s贸lo los BMW que fueron producidos despu茅s de 2012:

bmw_df = df[(df['manufacturer_name']=='BMW') & (df['year_produced']>=2012)]

Una pregunta 驴C贸mo hago que la caja de vi帽etas salga a un lado o m谩s peque帽a?

reto

En mi caso quise filtrar los autos marca Toyota, sin embargo no conoc铆a que modelos estaban en el data frame. Lo primero fue un breve filtro para conocer los modelos de Toyota los datos:

pd.unique(df[df['manufacturer_name']=='Toyota']['model_name'])

Una vez conociendo los modelos decidi conocer los precios del modelo Hilux

hilux_df = df[(df['manufacturer_name']=='Toyota')&(df['model_name']=='Hilux')]
sns.histplot(hilux_df, x='price_usd', hue='year_produced')
plt.show()

En conclusi贸n las Hilux entre el a帽o 2012-2015 varian en un rango de precio entre USD 25.000 y USD 35.000

Reto
Escog铆 el Mercedez-Benz Sprinter y pude observar que mientras el a帽o de producci贸n es m谩s reciente, su precio es m谩s caro.

#Mercedez Benz | model: "Sprinter"
sprinter_mb = df_mercedez[df_mercedez.model_name == 'Sprinter']
#Canvas
fig = plt.figure()
#Axes
ax = fig.add_axes([0, 0, 2, 1.5])
#Histogram
ax = sns.histplot(data=sprinter_mb, x='price_usd', hue='year_produced', multiple='stack', palette='coolwarm')
ax.set_title('Price of Mercedez-Benz Splinter')
fig.set_facecolor('#FFFFCB')
fig.show()

El Reto鈥

Como tengo un humilde optra (lacetti en el resto del mundo) quise consultar su precio en la base鈥

Lo hice con kia es una marca que me gusta

me gusto mucho el resultado

RETO: El modelo que decido estudiar es el RAV4 de Toyota, por lo que hago el filtrado por este modelo

Pero a la hora de filtrar me topo con un problema 馃く

La leyenda es demasiado grande. Pero recuerdo que estoy buscando un auto que sea mayor al a帽o 2010, por lo que aplico otro filtro.

Este me regresa una gr谩fica que se ajusta m谩s a mi b煤squeda.

Pero a煤n no es lo que necesito, quiero adem谩s que su color sea negro y que sea autom谩tico

Lo cual me indica que el auto Toyota RAV4 que debo comprar autom谩tico color negro se encuentra entre un rango de 1800$ a 2000$ y que ser铆a del a帽o 2014 o 2015.

Muy buena clase!

Soluci贸n al reto:

Vaya clase! muy buena y el profesor muy claro en la explicaci贸n

Hola!

Yo lo hice con el Volkswagen jetta

En lo personal me gustan los carros el茅ctricos, por lo que filtr茅 para encontrar estos:

electric_df = df[df["engine_fuel"]=="electric"]
sns.histplot(electric_df, x="price_usd", hue="manufacturer_name");

Ahora, para comparar los precios:

non_electric_df = df[df["engine_fuel"]!="electric"]
print(f"Precio medio carros el茅ctricos: {electric_df['price_usd'].mean()} d贸lares")
print(f"Precio medio carros no-el茅ctricos: {non_electric_df['price_usd'].mean()} d贸lares")

Se observa claramente que los el茅ctricos, en promedio son m谩s costosos. Aunque claro, como vimos puede que exista un sesgo. Y 10 muestras de autom贸viles el茅ctricos son muy pocos.

'histograma de marca de auto y modelo de auto que a mi me interese'
volkswagen_df=df.query('manufacturer_name=="Volkswagen" and (model_name=="Passat" or model_name=="Jetta") and year_produced>=2010')
sns.histplot(volkswagen_df, x='price_usd', hue='model_name')

Reto
Inclu铆 la librer铆a matplotlib para que no se amontonaran las leyendas y busque por el BMW 320 que me gusta

BMW_df = df[(df['manufacturer_name']=='BMW') & (df['model_name']=='320')]
sns.histplot(BMW_df, x='price_usd', hue = 'year_produced', palette = 'flare')
plt.legend(df['year_produced'],bbox_to_anchor=(1.25,0.5))

Comparto mi reto
Al ser alto me gustan los autos espaciosos, as铆 que opte por buscar SUV鈥檚 que tengan transmisi贸n autom谩tica y un motor 1.8 que sea c贸modo para viajar por ruta 馃槂

autaco = df[
    (df['transmission']=='automatic') & 
    (df['body_type'] > 'suv') & 
    (df['engine_capacity'] == 1.8)]

plt.figure(figsize=(10,10))

sns.histplot(data=autaco, x='price_usd' ,y='year_produced',hue='manufacturer_name', multiple='dodge')

Asi me quedo la investigacion

No se mucho de autos asi que escogi el modelo mas comun, Toyota RAV4, pero al graficas se genero una sobreposicion de la leyenda asi q busque en la documentacion como arreglar eso y pues se ve mas limpio con esa linea extra

En mi caso quise analizar cu谩ntas unidades del Porsche Cayenne tienen transmisi贸n manual o autom谩tica para confirmar si con el paso de los a帽os existe una reducci贸n en las transmisiones manuales en la gama de autos semi lujo.

Porsche_df = df[(df['manufacturer_name']=='Porsche') & (df['model_name']=='Cayenne')]
sns.histplot(Porsche_df, x='year_produced', hue='transmission')

Sin embargo, al analizar los datos nos damos cuenta de que a lo largo de los a帽os ofrecidos en nuestro data set de datos usados solamente contamos con transmisiones autom谩ticas, lo cual confirma la tendencia del mercado al no uso frecuente de transmisiones manuales en esta gama de autos.

Como a mi me gustan librerias un poco mas interactivas, y que vi en un curso en otra plataforma. Realice el proceso haciendo uso de la libreria de plotly.express
En esencia son las mismas graficas hechas por la mayoria de los compa帽eros, pero con colores mas vistosos y que ademas se permite interactuar con las graficas, ya que al pasar el cursor del raton por las graficas te indica los valores de cada punto. Tambien puedes acercar un lugar exacto de la grafica, en fin, es mejor la interaccion.

Para el reto escog铆 los Subaru Outback, aqu铆 el c贸digo:

<Subaru_df = df[(df['manufacturer_name']=='Subaru') & (df['model_name']=='Outback')]
sns.histplot(Subaru_df, x='price_usd', hue = 'year_produced')> 

Reto:

BMW_X5 = df[(df['manufacturer_name']=='BMW') & (df['model_name']=='X5') & ( (df['year_produced'])>2010) ]
BMW_X5.head(10)


import seaborn as sns

sns.histplot(BMW_X5, x = 'price_usd', hue = 'year_produced')

Reto
Mi reto no lo hice con respecto a la marca de carros. Quise analizar de acuerdo al a帽o de producci贸n de los carros. Los resultados fueron los siguientes

Soluci贸n
Primero hice una depuraci贸n de los datos dado que muchos de estos no los requer铆a para mi an谩lisis.

Luego, gener茅 una gr谩fica de la cantidad de carros de acuerdo a su a帽o de produci贸n

sns.displot(df, x = 'year_produced')

Pude observar que la mayor parte de los carros fueron producidos de 1990 para adelante. Ahora, quise ver cu谩les eran los 10 a帽os con mayor frecuencia y encontr茅 lo siguiente (Para ver obtener la cantidad, gener茅 una columna de n煤meros 1 y as铆 poder contar la frecuencia):

df.groupby("year_produced")["Quantity"].sum().sort_values(ascending=False).head(10).reset_index()

La mayor cantidad de carros fue producida en 1998 y 2008. Ser铆a interesante saber qu茅 tienen en particular estos dos a帽os dado que tienen una diferencia significativa con respecto a los dem谩s a帽os. Por mi parte busqu茅 si exist铆a alguna correlaci贸n entre las variables, solo obtuve que la 煤nica correlaci贸n que existe es que el precio tiene una leve correlaci贸n con el a帽o de producci贸n.

Por 煤ltimo, hice un an谩lisis estad铆stico de los a帽os descritos anteriormente con respecto al precio, el resultado fue el siguiente:

df_filtro_years = df["year_produced"].isin([1998,2008, 1999, 1997, 2001, 2007, 2002, 2000, 2010, 1996])
df_years = df[df_filtro_years]
df_years.groupby("year_produced")["price_usd"].describe()

Pude confirmar que existe correlaci贸n entre el precio y el a帽o de producci贸n.

RETO COMPLETADO

Eleg铆 hacer sobre la marca Ford pero no sab铆a qu茅 modelo tomar as铆 que hice la siguiente instrucci贸n para buscar los modelos.

df[df['manufacturer_name'] == 'Ford'].groupby('model_name').count().reset_index()['model_name']

Como resultado sal铆o lo siguiente:

Posteriormente hice el diagrama de histograma para ver los precios de acuerdo el a帽o de producci贸n.

galaxy_ford_df = df[(df['manufacturer_name'] == 'Ford') & (df['model_name'] == 'Galaxy')]
sns.histplot(galaxy_ford_df, x = 'price_usd', hue = 'year_produced')

Y sali贸 como respuesta lo siguiente:

RETO:
Car BMW modelo 520 (price_usd vs count)
de acuerdo al tipo de transmision: