Bienvenido a nuestro primer encuentro de inmersión de datos
from google.colab import drive
drive.mount('/content/drive')
Mounted at /content/drive
import pandas as pd
inmuebles = pd.read_csv('/content/drive/MyDrive/inmersion_datos/inmuebles_bogota.csv')
inmuebles.head()
Tipo | Descripcion | Habitaciones | Baños | Área | Barrio | UPZ | Valor | |
---|---|---|---|---|---|---|---|---|
0 | Apartamento | Apartamento en venta en Zona Noroccidental | 3 | 2 | 70 | Zona Noroccidental | CHAPINERO: Pardo Rubio + Chapinero | $ 360.000.000 |
1 | Casa | Casa en venta en Castilla | 4 | 3 | 170 | Castilla | KENNEDY: Castilla + Bavaria | $ 670.000.000 |
2 | Apartamento | Apartamento en venta en Chico Reservado | 3 | 3 | 144 | Chico Reservado | CHAPINERO: Chicó Lago + El Refugio | $ 1.120.000.000 |
3 | Apartamento | Apartamento en venta en Usaquén | 3 | 2 | 154 | Usaquén | Usaquén | $ 890.000.000 |
4 | Apartamento | Apartamento en venta en Bella Suiza | 2 | 3 | 128 | Bella Suiza | USAQUÉN: Country Club + Santa Bárbara | $ 970.000.000 |
inmuebles.shape
(9520, 8)
inmuebles.columns
Index(['Tipo', 'Descripcion', 'Habitaciones', 'Baños', 'Área', 'Barrio', 'UPZ', 'Valor'], dtype='object')
columnas = {'Baños':'Banos','Área':'Area'}
inmuebles = inmuebles.rename(columns=columnas)
inmuebles.sample(10)
Tipo | Descripcion | Habitaciones | Banos | Area | Barrio | UPZ | Valor | |
---|---|---|---|---|---|---|---|---|
85 | Apartamento | Apartamento en venta en Usaquén | 2 | 2 | 80 | Usaquén | Usaquén | $ 349.000.000 |
4709 | Apartamento | Apartamento en venta en Suba | 2 | 1 | 40 | Suba | Suba | $ 168.000.000 |
206 | Apartamento | Apartamento en venta en Santa Barbara | 5 | 5 | 375 | Santa Barbara | USAQUÉN: Country Club + Santa Bárbara | $ 1.400.000.000 |
6385 | Apartamento | Apartamento en venta en Mazuren | 3 | 2 | 120 | Mazuren | El Prado | $ 390.000.000 |
7190 | Apartamento | Apartamento en venta en Fontibón | 3 | 2 | 52 | Fontibón | Fontibón | $ 266.000.000 |
6955 | Apartamento | Apartamento en venta en Suba | 3 | 2 | 119 | Suba | Suba | $ 820.000.000 |
3237 | Apartamento | Apartamento en venta en Zona Noroccidental | 3 | 2 | 68 | Zona Noroccidental | CHAPINERO: Pardo Rubio + Chapinero | $ 305.000.000 |
7082 | Casa | Casa en venta en Niza | 4 | 4 | 168 | Niza | Niza | $ 711.000.000 |
1926 | Apartamento | Apartamento en venta en Cedritos | 2 | 2 | 79 | Cedritos | Usaquén | $ 462.500.000 |
7221 | Apartamento | Apartamento en venta en Zona Noroccidental | 3 | 2 | 63 | Zona Noroccidental | CHAPINERO: Pardo Rubio + Chapinero | $ 204.930.000 |
inmuebles.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 9520 entries, 0 to 9519 Data columns (total 8 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Tipo 9520 non-null object 1 Descripcion 9520 non-null object 2 Habitaciones 9520 non-null int64 3 Banos 9520 non-null int64 4 Area 9520 non-null int64 5 Barrio 9520 non-null object 6 UPZ 9478 non-null object 7 Valor 9520 non-null object dtypes: int64(3), object(5) memory usage: 595.1+ KB
inmuebles.iloc[300]
Tipo Apartamento Descripcion Apartamento en venta en Kennedy Habitaciones 2 Banos 1 Area 42 Barrio Kennedy UPZ Kennedy Central Valor $ 116.100.000 Name: 300, dtype: object
inmuebles.iloc[300:305]
Tipo | Descripcion | Habitaciones | Banos | Area | Barrio | UPZ | Valor | |
---|---|---|---|---|---|---|---|---|
300 | Apartamento | Apartamento en venta en Kennedy | 2 | 1 | 42 | Kennedy | Kennedy Central | $ 116.100.000 |
301 | Apartamento | Apartamento en venta en Chico Norte | 2 | 2 | 95 | Chico Norte | CHAPINERO: Chicó Lago + El Refugio | $ 980.000.000 |
302 | Apartamento | Apartamento en venta en Kennedy | 3 | 2 | 54 | Kennedy | Kennedy Central | $ 237.000.000 |
303 | Apartamento | Apartamento en venta en Kennedy | 3 | 2 | 67 | Kennedy | Kennedy Central | $ 320.000.000 |
304 | Apartamento | Apartamento en venta en Cedritos | 4 | 4 | 132 | Cedritos | Usaquén | $ 530.000.000 |
inmuebles['Valor'][300]
'$ 116.100.000'
inmuebles['Valor'][300:305]
300 $ 116.100.000 301 $ 980.000.000 302 $ 237.000.000 303 $ 320.000.000 304 $ 530.000.000 Name: Valor, dtype: object
type(inmuebles['Valor'][300:305])
pandas.core.series.Series
inmuebles.columns
Index(['Tipo', 'Descripcion', 'Habitaciones', 'Banos', 'Area', 'Barrio', 'UPZ', 'Valor'], dtype='object')
inmuebles.Area.mean()
146.66470588235293
inmuebles.sample(100)
Tipo | Descripcion | Habitaciones | Banos | Area | Barrio | UPZ | Valor | |
---|---|---|---|---|---|---|---|---|
5756 | Apartamento | Apartamento en venta en Chapinero Alto | 3 | 2 | 105 | Chapinero Alto | CHAPINERO: Pardo Rubio + Chapinero | $ 435.000.000 |
8570 | Oficina/Consultorio | Oficina/Consultorio en venta en El Chicó | 1 | 1 | 100 | El Chicó | CHAPINERO: Chicó Lago + El Refugio | $ 1.000.000.000 |
2111 | Apartamento | Apartamento en venta en Kennedy | 3 | 2 | 72 | Kennedy | Kennedy Central | $ 440.000.000 |
9478 | Casa | Casa en venta en Kennedy | 4 | 3 | 105 | Kennedy | Kennedy Central | $ 415.000.000 |
5910 | Apartamento | Apartamento en venta en Usaquén | 3 | 3 | 149 | Usaquén | Usaquén | $ 1.170.000.000 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
3917 | Apartamento | Apartamento en venta en Usaquén | 2 | 2 | 60 | Usaquén | Usaquén | $ 422.000.000 |
553 | Apartamento | Apartamento en venta en Santa Barbara | 1 | 1 | 45 | Santa Barbara | USAQUÉN: Country Club + Santa Bárbara | $ 250.000.000 |
4973 | Apartamento | Apartamento en venta en Chapinero | 3 | 2 | 76 | Chapinero | CHAPINERO: Pardo Rubio + Chapinero | $ 315.000.000 |
9008 | Apartamento | Apartamento en venta en Teusaquillo | 2 | 2 | 57 | Teusaquillo | Teusaquillo | $ 385.000.000 |
6720 | Apartamento | Apartamento en venta en Engativa | 3 | 2 | 50 | Engativa | Engativá | $ 155.000.000 |
100 rows × 8 columns
(inmuebles.Barrio == 'Usaquén')
0 False 1 False 2 False 3 True 4 False ... 9515 False 9516 False 9517 False 9518 False 9519 False Name: Barrio, Length: 9520, dtype: bool
sum((inmuebles.Barrio == 'Usaquén'))
1105
inmuebles_usaq = (inmuebles.Barrio == 'Usaquén')
type(inmuebles_usaq)
pandas.core.series.Series
usaquen = inmuebles[inmuebles_usaq]
usaquen
Tipo | Descripcion | Habitaciones | Banos | Area | Barrio | UPZ | Valor | |
---|---|---|---|---|---|---|---|---|
3 | Apartamento | Apartamento en venta en Usaquén | 3 | 2 | 154 | Usaquén | Usaquén | $ 890.000.000 |
20 | Apartamento | Apartamento en venta en Usaquén | 1 | 2 | 50 | Usaquén | Usaquén | $ 420.000.000 |
30 | Apartamento | Apartamento en venta en Usaquén | 3 | 3 | 66 | Usaquén | Usaquén | $ 261.500.000 |
45 | Apartamento | Apartamento en venta en Usaquén | 2 | 2 | 80 | Usaquén | Usaquén | $ 349.000.000 |
56 | Apartamento | Apartamento en venta en Usaquén | 2 | 2 | 80 | Usaquén | Usaquén | $ 349.000.000 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
9352 | Apartamento | Apartamento en venta en Usaquén | 3 | 3 | 130 | Usaquén | Usaquén | $ 1.190.000.000 |
9409 | Casa | Casa en venta en Usaquén | 6 | 5 | 400 | Usaquén | Usaquén | $ 2.800.000.000 |
9420 | Apartamento | Apartamento en venta en Usaquén | 3 | 2 | 94 | Usaquén | Usaquén | $ 450.000.000 |
9439 | Apartamento | Apartamento en venta en Usaquén | 3 | 4 | 112 | Usaquén | Usaquén | $ 590.000.000 |
9509 | Apartamento | Apartamento en venta en Usaquén | 3 | 3 | 180 | Usaquén | Usaquén | $ 1.250.000.000 |
1105 rows × 8 columns
usaquen.Area.mean()
134.04615384615386
inmuebles.Area.mean()
146.66470588235293
len(inmuebles.Barrio.value_counts())
149
inmuebles.Barrio.value_counts()
Usaquén 1105 Zona Noroccidental 877 Bosa 589 Kennedy 589 Cedritos 554 ... Colinas De Suba 1 La Estanzuela 1 Roma 1 Alameda 1 Prado Veraniego 1 Name: Barrio, Length: 149, dtype: int64
len(inmuebles.UPZ.value_counts())
63
inmuebles_barrio = inmuebles.Barrio.value_counts()
inmuebles_barrio.plot.bar()
<Axes: >
inmuebles_barrio.head(10).plot.bar()
<Axes: >
Desafío
inmuebles_barrios = inmuebles.groupby("Barrio").Area.mean().sort_values(ascending=False)
inmuebles_barrios
Barrio Modelia 4316.750000 Libertador 642.000000 Bosa Piamonte 400.000000 La Soledad 378.625000 Restrepo 336.500000 ... La Merced 41.000000 El Tunal 41.000000 San Diego 40.666667 La Macarena 37.000000 Prado Veraniego 25.000000 Name: Area, Length: 149, dtype: float64
inmuebles_barrios.head(10).plot.bar()
<Axes: xlabel='Barrio'>