¿Cómo puedo ajustar una curva sinusoidal a mis datos con pylab y numpy?

Para un proyecto escolar, estoy tratando de mostrar que las economías siguen un patrón de crecimiento relativamente sinusoidal. Más allá de los aspectos económicos de la misma, que ciertamente son poco fiables, estoy creando una simulación de python para mostrar que incluso cuando permitimos que se logre cierto grado de aleatoriedad, aún podemos producir algo relativamente sinusoidal. Estoy contento con los datos que estoy produciendo, pero ahora me gustaría encontrar alguna forma de obtener un gráfico sinusoidal que coincida bastante con los datos. Sé que puedes hacer un ajuste polinomial, pero ¿puedes hacer un ajuste sinusoidal?

Gracias por su ayuda por adelantado. Avísame si hay alguna parte del código que quieras ver.

Respuestas a la pregunta(4)

Su respuesta a la pregunta