Forma pitónica de detectar valores atípicos en datos de observación unidimensionales

Para los datos proporcionados, quiero establecer los valores atípicos (definidos por el nivel de confianza del 95% o la función de cuantil del 95% o cualquier cosa que sea necesaria) como valores nan. A continuación se muestran los datos y el código que estoy usando en este momento. Me alegraría si alguien me pudiera explicar más.

import numpy as np, matplotlib.pyplot as plt

data = np.random.rand(1000)+5.0

plt.plot(data)
plt.xlabel('observation number')
plt.ylabel('recorded value')
plt.show()

Respuestas a la pregunta(5)

Su respuesta a la pregunta