1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
#!/usr/bin/python
# -*- coding: utf-8 -*-
##### importation des bibliothéques #####
import pickle
import numpy as np
from scipy import stats
import xlrd
from xlwt import Workbook
##### importation de données #####
data=pickle.load(open("/home/test.pkl","rb"))
mesures_names_sec = [ 'V1','V2','V3','V4','V5','V6','V7','V8']
# Detection des observations qui contiennent les valeurs extrêmes
mesures_names_5 = [ 'V1','V2','V3']
longueur_tableau=len(data['V1'])
path=r"/home1/homedir6/perso/fafa/Bureau/val.xlsx"
classeur =Workbook()
feuille = classeur.add_sheet("OCB")
for mesure_name in mesures_names_5:
for i in range(0,len(mesures_names_sec)-1):
feuille.write(0,i,mesures_names_sec[i])
mesure=data[mesure_name]
Q1=stats.scoreatpercentile(mesure,25)
Q3=stats.scoreatpercentile(mesure,75)
inter=stats.scoreatpercentile(mesure,75)-stats.scoreatpercentile(mesure,25)
Borneinf=Q1-1.5*inter
Bornesup=Q3+1.5*inter
for j in range(longueur_tableau):
for p in range(len(mesures_names_sec)):
if (mesure[j]<Borneinf or mesure[j]>Bornesup ):
feuille.write(j,p,str(data[mesures_names_sec[p]][j] ))
classeur.save(path)
print u"Fichier créé:{}".format(path) |
Partager