English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
1、Donner une collection de données noise-data-1.txt, cette collection de données contient de nombreuses valeurs manquantes (espaces, valeurs incomplètes, etc.). Utilisez les "constantes globales", "moyenne ou médiane" pour remplir les valeurs manquantes.
noise-data-1.txt :
5.1 3.5 1.4 0.2 4.9 3 1.4 0.2 4.7 3.2 1.3 0.2 4.6 3.1 1.5 0.2 5 3.6 1.4 0.2 5.4 3.9 1.7 0.4 4.6 3.4 1.4 0.3 5 3.4 1.5 0.2 4.4 2.9 1.4 0.2 4.9 -3.1 1.5 0.1 5.4 3.7 1.5 0.2 4.8 3.4 1.6 0.2 4.8 3 -1.4 0.1 4.3 3 1.1 0.1 5.8 4 1.2 0.2 5.7 4.4 1.5 0.4 5.4 3.9 1.3 0.4 5.1 3.5 1.4 0.3 5.7 3.8 1.7 0.3 5.1 3.8 -1.5 0.3 5.4 3.4 1.7 0.2 5.1 3.7 1.5 0.4 4.6 3.6 1 0.2 5.1 3.3 1.7 0.5 4.8 3.4 1.9 0.2
Idée de résolution :Tout d'abord, lire les données, traiter les données, supprimer les lignes vides, utiliser la "moyenne" pour remplir les valeurs manquantes, ce problème est réalisé en utilisant le langage Python, le code suivant :
import numpy as np data = [] my_list = [] con=0 noise_data = open('noise-data-1.txt') clean_data = open("clean_data3.txt", 'w') for line in noise_data.readlines(): si len(line) == 0: break si line.count('\n') == len(line): continue dataline =line.strip().split('\t') my_list.append(dataline) con+=1 for i in range(0,con): for j in range(0,len(my_list[i])): si my_list[i][j].count('.')==0: miss_row=[] for a in range(0,len(my_list[i])): si float(my_list[i][a])<0: miss_row.append(-float(my_list[i][a]) miss_row.append(float(my_list[i][a])) my_average=round(np.average(miss_row),1) my_list[i][j]=my_average else: if float(my_list[i][j])<0: my_list[i][j]=-float(my_list[i][j]) my_list[i][j]=float(my_list[i][j]) print my_list def file_write(filename,data_list): file1=open(filename,'w') for i in data_list: for j in i: if type(j)!=str: j=str(j) file1.write(j) file1.write(' ') file1.write('\n') file1.close() return file1 filename='clean_data.txt' file_write(filename,my_list)
Les résultats de l'exécution sont les suivants :
Voici l'exemple de prétraitement des données en Python pour remplir les valeurs manquantes que je partage avec vous aujourd'hui. J'espère que cela vous servira de référence et que vous continuerez à soutenir le tutoriel d'alarme.
Déclaration : Le contenu de cet article est extrait du réseau, la propriété intellectuelle appartient à ses auteurs respectifs, le contenu est apporté par les utilisateurs d'Internet de manière spontanée et est téléchargé par eux-mêmes. Ce site n'a pas de propriété intellectuelle, n'a pas été traité par l'éditeur humain et n'assume aucune responsabilité juridique. Si vous trouvez du contenu présumé violer les droits d'auteur, n'hésitez pas à envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour signaler une violation, et fournir des preuves pertinentes. Une fois vérifié, ce site supprimera immédiatement le contenu présumé enfreindre les droits d'auteur.)