Caso de análisis de datos de Python: análisis de datos de ventas de farmacias
Propósito del análisis de datos:
Este artículo supone que los datos de ventas del Hospital Chaoyang en 2018 se toman como ejemplo. El propósito es comprender la situación de las ventas del Hospital Chaoyang en 2018. y analizar las ventas de medicamentos del Hospital del Distrito de Chaoyang A través del análisis de datos, podemos comprender el número promedio de compras mensuales de los pacientes del Hospital Chaoyang, el monto promedio de consumo mensual, el precio unitario por cliente, las tendencias de consumo y los medicamentos con mayor demanda.
Los procesos básicos del análisis de datos incluyen: recopilación de datos, limpieza de datos, establecimiento de modelos, visualización de datos y análisis de tendencias de consumo.
Preparación de datos
Los datos existen en Excel. Los datos se pueden leer en la memoria utilizando la función de lectura de archivos Excel de Panda. Lo que hay que tener en cuenta aquí es el nombre del archivo y el nombre de la página de la tabla en Excel. Después de leer los datos, puede obtener una vista previa de los datos y ver información básica.
Obtener datos: Datos de ventas del Hospital Chaoyang 2018. Código de extracción xlsx (datos irreales): 6xm2.
Importar datos sin procesar
Preparación de datos
Los datos existen en Excel. Los datos se pueden leer en la memoria utilizando la función de lectura de archivos Excel de Panda. Lo que hay que tener en cuenta aquí es el nombre del archivo y el nombre de la página de la tabla en Excel. Después de leer los datos, puede obtener una vista previa de los datos y ver información básica.
Obtener datos: Datos de ventas del Hospital Chaoyang 2018. Código de extracción xlsx (datos irreales): 6xm2.
Importar datos originales
Limpieza de datos
El proceso de limpieza de datos incluye: selección de subconjunto, cambio de nombre de columna, procesamiento de datos faltantes, conversión de tipo de datos y clasificación de datos. y manejo de valores atípicos.
(1) Seleccionar un subconjunto
En los datos que obtenemos, la cantidad de datos puede ser enorme y no todas las columnas son valiosas y necesitan ser analizadas. En este momento, debe seleccionar un subconjunto apropiado de todos los datos para analizarlo y obtener el valor máximo de los datos. En este caso, no es necesario seleccionar un subconjunto y este paso se puede ignorar por ahora.
(2) Cambio de nombre de columna
En el proceso de análisis de datos, algunos nombres de columnas y datos se confunden o son ambiguos fácilmente, lo que no favorece el análisis de datos. En este momento, debe cambiar el nombre de la columna por un nombre fácil de entender, lo que se puede lograr mediante la función de cambio de nombre:
(3) Procesamiento de valores faltantes
Hay Es posible que falten valores en los datos obtenidos. Al observar la información básica, se puede inferir que faltan valores en las columnas "Tiempo de compra de medicamentos" y "Número de tarjeta de seguro social". Si estos valores faltantes no se solucionan, interferirán con los resultados del análisis de datos posteriores.
Las formas comunes de lidiar con los datos faltantes son eliminar registros que contienen datos faltantes o usar algoritmos para completar los datos faltantes.
En este caso, por conveniencia, utilizamos directamente la función dropna para eliminar los datos faltantes, como se muestra a continuación:
(4) Conversión de tipo de datos
Para evitar que se importen datos, se obligará a que todos los datos sean de tipo objeto. Sin embargo, en el proceso de análisis de datos real, las columnas de cantidad de ventas, monto por cobrar y monto de recibo real requieren datos de punto flotante, y el tiempo de ventas debe cambiarse al formato de hora, por lo que es necesario convertir el tipo de datos.
Puede utilizar la función astype() para convertir a datos de punto flotante:
La columna "Tiempo de ventas" tiene datos semanales, pero no es necesaria durante el proceso de análisis de datos. Por lo tanto, la fecha y la semana en la columna "Tiempo de ventas" deben dividirse usando la función de división, y el tiempo dividido devolverá el tipo de datos de secuencia:
En este momento, la hora está desordenada y todavía hay que solucionarlo. El índice se alterará después de la clasificación, por lo que es necesario restablecerlo.
Dónde por: Indica la columna en la que se basa la clasificación. ascending=True indica orden ascendente, ascending=False indica orden descendente.
Primero revisa las estadísticas descriptivas de los datos.
A través de la descripción de la información estadística, podemos ver que los valores mínimos de las tres columnas de cantidad de ventas, monto por cobrar y monto de recibo real son todos valores negativos. son La interferencia de valores atípicos requiere un procesamiento adicional de los datos para eliminar el impacto de los valores atípicos:
Una vez completada la limpieza de datos, es necesario utilizar los datos para establecer un modelo (es decir, calcular el valor correspondiente indicadores de negocio), y visualizar los resultados de forma presentada.
Número de consumo medio mensual = número total de consumo/mes (todo el consumo de una misma persona se cuenta como un consumo en el mismo día).
Importe de consumo mensual promedio = monto de consumo total/número de meses
Precio unitario al cliente = monto de consumo total/número total de consumos
Como se puede ver en los resultados, todos los días El consumo total varía mucho, excepto por grandes compras en unos pocos días, el consumo de la mayoría de las personas se mantiene entre 1.000 y 2.000 yuanes.
A continuación, primero resuma mi tiempo de ventas y luego analícelo por agrupación mensual:
Los resultados muestran que la cantidad de consumo en julio es la menor, porque los datos de julio están incompletos , por lo que no hay valor de referencia.
El consumo mensual no difiere mucho en abril, mayo y junio.
El consumo cayó rápidamente en febrero y marzo, lo que puede ser la razón por la que la mayoría de la gente regresaba a casa para celebrar el Año Nuevo.
D. Análisis de ventas de medicamentos
Agregue las dos columnas de "nombre del producto" y "cantidad de ventas" en forma de secuencia para facilitar estadísticas posteriores y organícelas en orden descendente:< /p >
Intercepte los diez medicamentos con mayores ventas y muestre los resultados en un histograma:
Conclusión: Los hospitales siempre deben prestar atención a los medicamentos con mayores ventas para garantizar que no haya escasez de medicamentos. no afecta a los pacientes. Obtener información sobre los diez medicamentos más vendidos también puede ayudar a fortalecer la gestión de las farmacias hospitalarias.
Distribución del importe del consumo diario: el eje horizontal es el tiempo y el eje vertical es el importe real del pago.
Conclusión: En el gráfico de dispersión se puede ver que la gran mayoría de las personas consumen menos de 500 yuanes al día, y también hay situaciones en las que la cantidad de consumo es grande en días individuales.
</article>