Caso de análisis de datos de Python: análisis de datos de ventas de farmacias
Recientemente aprendí algunos conocimientos básicos sobre el análisis de datos de Python y quiero encontrar un pequeño proyecto sobre análisis de datos médicos para practicar.
El propósito del análisis de datos:
En esta publicación, se 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. A través del análisis del Hospital Chaoyang Análisis de los datos de ventas de medicamentos hospitalarios para comprender la frecuencia de consumo mensual promedio, la cantidad de consumo mensual promedio, la cantidad de consumo mensual promedio, el precio unitario por cliente, así como las tendencias de consumo y la demanda máxima medicamentos entre los pacientes del Hospital Chaoyang.
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. Puede utilizar la función de lectura de archivos de Excel de pandas para leer los datos en la memoria. nombre del archivo y la página de la hoja de trabajo en Excel. Después de leer los datos, puede obtener una vista previa de los datos y ver información básica.
Obtener datos: Chaoyang Hospital 2018 sales data.xlsx (datos no reales) Código de extracción: 6xm2
Importar datos sin procesar
Preparación de datos
Los datos se almacenan en Excel. Puede utilizar la función de lectura de archivos Excel de pandas para leer los datos en la memoria. El nombre del archivo y el nombre de la página de la hoja de trabajo 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.xlsx (datos no reales) Código de extracción: 6xm2
Importar datos originales
Limpieza de datos
El proceso de limpieza de datos incluye: selección de subconjuntos, cambio de nombre de columnas, procesamiento de datos faltantes, conversión de tipos de datos, clasificación de datos y procesamiento de valores atípicos
(1) Selección de subconjuntos
En los datos Obtenemos, la cantidad de datos puede ser muy grande y no cada columna tiene un valor que deba analizarse. Esto requiere seleccionar un subconjunto adecuado de todos los datos para el análisis, a fin de obtener el valor máximo de los datos. . En este caso, no es necesario seleccionar un subconjunto y puedes ignorar este paso por ahora.
(2) Cambio de nombre de columna
Durante el proceso de análisis de datos, los nombres de algunas columnas se confunden fácilmente o son ambiguos con los datos, lo que no favorece el análisis de datos. los nombres de las columnas Para reemplazarlo con un nombre fácil de entender, puede usar la función de cambio de nombre:
(3) Procesamiento de valores faltantes
Los datos obtenidos al ver información básica. Es probable que tenga valores faltantes. Al observar la información básica, se puede concluir que faltan valores en las columnas "Hora de compra" y "Número de tarjeta de seguro social". Si estos valores faltantes no se procesan, interferirán con los datos posteriores. resultados del análisis.
Los datos faltantes generalmente se manejan eliminando registros que contienen datos faltantes o usando algoritmos para completar los datos faltantes.
En este ejemplo, por conveniencia, la función dropna se usa directamente para eliminar los datos faltantes, como se muestra a continuación:
(4) Conversión de tipo de datos
Para evitar que los datos importados no lleguen, todos los datos se verán obligados a ser de tipo objeto. Sin embargo, durante el proceso de análisis de datos real, las columnas "Cantidad de ventas", "Cantidad por cobrar" y "Cantidad recibida". "requiere datos de punto flotante (flotante), y "Ventas" "Hora" debe cambiarse al formato de hora, y "Ventas" debe convertirse al formato de hora, por lo que se requiere la conversión del tipo de datos.
Puedes utilizar la función asype() para convertir a datos de punto flotante:
Si hay datos semanales en la columna "Tiempo de ventas", pero durante el proceso de análisis de datos hay no es necesario usarlo, por lo que puede usar la función de división para dividir la fecha y la semana en la columna de tiempo de ventas. El tiempo dividido es:
Si hay datos semanales en la columna "tiempo de ventas", Sin embargo, no es necesario utilizarlo en el proceso de análisis de datos, por lo que la fecha y la semana en la columna de tiempo de ventas se pueden dividir usando la función de división. El tiempo dividido es:
En "Ventas". Sección "Hora" Si hay datos semanales en la columna de datos, pero no son necesarios en el proceso de análisis de los datos, la fecha y la semana en la columna de tiempo de ventas se pueden dividir usando la función de división. Dividido, después de dividir el tiempo, se devuelve el tipo de datos de la serie:
En este momento, el tiempo no está ordenado, por lo que es necesario ordenarlo. Después de ordenar, el índice se alterará, por lo que el índice. necesita ser reiniciado.
Entre ellos, presionar: indica por qué columna ordenar, ascending=True indica orden ascendente, ascending=False indica orden descendente
Veamos primero las estadísticas descriptivas de los datos
A través de la descripción de las estadísticas, podemos ver que los valores mínimos de las tres columnas de datos "Cantidad de ventas", "Cantidad por cobrar" y "Cantidad recibida" tienen valores negativos. De acuerdo con el sentido común, hay interferencias de valores atípicos en los datos, por lo que los datos deben procesarse más para eliminar la influencia de los valores atípicos.
Una vez completada la limpieza de datos, debe utilizar los datos para crear un modelo (es decir, calcular los indicadores comerciales correspondientes) y presentar los resultados de una manera intuitiva.
Consumo medio mensual = consumo total/número de meses (todo el consumo de una misma persona en el mismo día se cuenta como un consumo)
Consumo medio mensual = consumo total/mes Número
Precio unitario al cliente = consumo total / consumo total
Se puede ver en los resultados que el consumo diario total varía mucho y la cantidad de consumo en ciertos días también es relativamente grande. El monto del consumo de la mayoría de la gente está entre 1.000 y 2.000 yuanes.
A continuación, primero resumiré mi tiempo de ventas y luego lo analizaré por mes:
Los resultados muestran que la cantidad de consumo en julio es la menor. Esto se debe a los datos en. Julio Está incompleto y por tanto no tiene valor de referencia.
No hay mucha diferencia en el consumo mensual en enero, abril, mayo y junio.
La rápida caída del consumo en febrero y marzo puede deberse a que febrero y marzo coinciden con la Fiesta de la Primavera y la mayoría de la gente regresa a casa para celebrar el Año Nuevo.
d. Analizar las ventas de medicamentos
Resuma las columnas "Nombre del producto" y "Cantidad de ventas" en una secuencia numérica para facilitar estadísticas futuras y ordénelas en orden descendente:
Intercepte la columna con la mayor cantidad de ventas, intercepte la columna con la mayor cantidad de ventas.
Conclusión: Los hospitales siempre deben prestar atención a los mejores medicamentos para garantizar que no haya escasez de medicamentos y no afectar el tratamiento de los pacientes. Dominar la información de los diez medicamentos principales por volumen de ventas también ayudará a fortalecer la gestión de la farmacia por parte del hospital.
La distribución del monto del gasto diario: el eje horizontal es el tiempo, el eje vertical es el monto del pago, dibuje un gráfico de dispersión.
Conclusión: en el gráfico de dispersión se puede ver que la mayoría de las personas consumen menos de 500 yuanes al día y que hay mayores cantidades de consumo en ciertos días.