Análisis de datos de Python: análisis exploratorio

Escribir al frente

Si olvidas el artículo anterior, puedes echar un vistazo y profundizar tu impresión:
Procesamiento de datos de Pandas
Análisis de datos de Python Combate real: procesamiento de valores perdidos
Análisis de datos de Python Combate real: Obtención de datos

Entonces puedes ingresar el texto de hoy

1. Análisis estadístico descriptivo

En Excel, puede utilizar la función [Estadísticas descriptivas] en la función [Análisis de datos] para ver los indicadores estadísticos más utilizados del conjunto de datos, pero aquí solo se puede utilizar para realizar estadísticas sobre datos numéricos.

imagen

En pandas, puede utilizar el método describe para realizar un análisis estadístico descriptivo de todo el conjunto de datos. Por supuesto, los resultados solo están disponibles para datos numéricos aquí, y los datos no numéricos no están dentro del alcance de las estadísticas.

# 描述性统计分析
df_list.describe()

Los resultados son los siguientes, puede ver que el recuento (recuento), la media (media), std (desviación estándar), mínimo (mínimo), máximo (máximo), 25%, 50%, 75% respectivamente representan 3/4 dígitos , Mediana y 1/4 dígitos.

imagen

Transponer

Debido a que hay demasiados campos, se puede transponer aquí para facilitar la visualización. Utilice .T transpose

# 行列转置
df_list.describe().T

El resultado se muestra en la figura, que está más en línea con el hábito de una tabla.Puede ver que solo se pueden contar datos numéricos y no se pueden contar datos de caracteres.image.png

Se observa que el mínimo, 1/4 de dígito, la mediana y 3/4 dígitos del campo de ocupación mínima (noches mínimas) son todos 1, lo que indica que la ocupación mínima para la mayoría de los listados es de 1 día. La misma conclusión se aplica al campo de número de revisiones por mes (reviews_per_month)

Dos, análisis de grupo

La tabla dinámica en Excel puede realizar la función de cálculo de agrupación de datos.image.png

Eche un vistazo a los valores que tiene el campo Neighborhood_new y use el método value_counts para contar el número de ocurrencias.

# 数值计数
df_list["neighborhood_new"].value_counts()

Como resultado, puede ver cuántos distritos y condados están clasificados en el campo vecindario_nuevo y sus apariencias están ordenadas en orden descendente. Puede ver que el distrito de Chaoyang tiene la mayor cantidad de listados y el distrito de Pinggu la menor.image.png


También puede utilizar el método groupby para lograr el conteo grupal

# 分组
df_list.groupby("neighborhood_new")["neighborhood_new"].count()

El resultado es el mismoimage.png

También puede agrupar la columna room_type_new para ver los resultados

df_list["room_type_new"].value_counts()

Se puede ver que hay tres categorías de tipos de habitaciones, con la mayoría de las casas enteras y las menos habitaciones compartidas.image.png

Tres, análisis cruzado

Agrupamiento

Agrupe por región y cuente el nivel de precios de la vivienda en diferentes regiones. El método groupby también se usa para agrupar, pero puede usar el método agg para usar varios métodos de agregación a la vez.

df_list.groupby("neighborhood_new")["price"].agg(["max","min","mean","count"])

Los resultados se muestran en la figura. Se agrupa el campo vecindario_nuevo, y se calculan y cuentan los valores promedio máximo y mínimo de los precios agrupados. Se puede ver que el precio promedio de la vivienda en el distrito de Huairou es el más alto y el distrito de Fengtai es el más bajo.

imagen
Agrupe los tipos de habitaciones y clasifique los resultados en orden descendente de valor medio


r_p = df_list.groupby("room_type_new")["price"].agg(["max","min","mean","count"]).reset_index()
r_p.sort_values("mean",ascending = False)

El resultado se muestra en la figura: el precio medio de la vivienda de todo el alquiler es el más alto y el alquiler compartido es el más bajo, lo que es un resultado razonable.

imagen

perspectiva

Para hacer una perspectiva del tipo de habitación y el área, use el método pivot_table, y la tabla dinámica en Excel es un tipo de operación. El primer parámetro son los datos que se van a girar y el parámetro de valores es el área de valor en la tabla dinámica de Excel, lo que significa Para los campos que se van a resumir, el parámetro de índice es el área de fila en la tabla dinámica de Excel, el parámetro de columnas es el área de columna y el parámetro aggfuc es el tipo de valores que se resumirán.

pd.pivot_table(df_list,values = "price",index = "neighborhood_new",
                columns = "room_type_new",aggfunc = "mean",margins = True)

El resultado se muestra en la figura, se puede ver la distribución de precios de todo el alquiler, alquiler compartido y habitación individual en cada zona.

imagen

Cuatro, análisis de correlación

El análisis de correlación se utiliza para describir los resultados de la correlación entre variables. Está representado por el coeficiente de correlación r, r> 0 significa correlación positiva, r <0 significa correlación negativa, y cuanto más cerca esté el valor absoluto de r a 1, mayor será la correlación. En Excel, puede calcular directamente el coeficiente de correlación de cada campo utilizando la función [Coeficiente de correlación] en la herramienta [Análisis de datos].

La función Corr se puede usar en Python para calcular el coeficiente de correlación entre los datos, calcular la tabla de datos completa y tomar 4 lugares decimales para el resultado.

# 计算相关系数
df_list.corr().round(4)

Los resultados son los siguientes, puede obtener el coeficiente de correlación entre cada columna.

imagen

Pero lo que más nos preocupa aquí es la correlación entre ellos y el precio, es decir, la parte marcada en rojo en la figura, puedes ordenar los valores en esta columna.

imagen

Orden numérico

La clasificación numérica consiste en organizar toda la tabla de datos en orden ascendente o descendente de la columna especificada, utilizando el método sort_values. Seleccione la columna de precio del marco de datos después de calcular el coeficiente de correlación en orden descendente. El primer parámetro es qué columna ordenar y el segundo parámetro ascendente = Falso es orden descendente. El valor predeterminado es Verdadero orden ascendente.

# 数值排序
corr_p = df_list.corr().round(4)
corr_p["price"].sort_values(ascending = False)

Los resultados son los siguientes. Se puede observar que la correlación entre los precios de la vivienda y la latitud y longitud (latitud, longitud) es la más alta. Además de otras variables, el número de días disponibles para reservar (disponibilidad_365) y el precio tienen una correlación más positiva, seguido del número de reseñas por mes (reviews_per_month). ) Y el precio tiene una correlación negativa.

imagen

Escribir en la parte de atrás



Supongo que te gusta

Origin blog.51cto.com/15064638/2598046
Recomendado
Clasificación