Aleatoriedad y Clasificación
Parece que hay bastantes espacios habitables (461, para ser exactos) que pueden albergar a tres personas como la nuestra, esto significa que los cinco "vecinos más cercanos" que seleccionemos después de la clasificación tendrán un valor de distancia de
cero.
Si ordenamos por la columna de la distance y luego seleccionamos los 5 primeros espacios habitables, estaríamos sesgando el resultado a la ordenación del conjunto de datos.
En su lugar, vamos a ordenar el conjunto de datos de forma aleatoria y luego ordenamos el DataFrame por la columna de la distance, de este modo, todos los espacios vitales que albergan el mismo número de personas seguirán estando en la parte superior
del DataFrame, pero estarán en orden aleatorio en las primeras 461 filas.

Instrucciones
- Ordenar aleatoriamente las filas de dc_listings:
- Use la función np.random.permutation() para devolver una matriz NumPy de valores de índice mezclados
- Utilice el método DataFrame loc[] para devolver un nuevo DataFrame que contenga el orden aleatorio
- Asigne el nuevo DataFrame de nuevo a dc_listings
- Después de la aleatorización, ordenar dc_listings por column de distancia, y asignar de nuevo a dc_listings
- Mostrar los 10 primeros valores de la columna de price mediante la función print
Soluciones
|

|
1
2
3
4
5
|
import numpy as np
np.random.seed(1)
dc_listings =
dc_listings.loc[np.random.permutation(len(dc_listings))]
dc_listings = dc_listings.sort_values('distance')
print(dc_listings.iloc[0:10]['price'])
|
|
Última modificación: miércoles, 27 de abril de 2022, 14:45