Bonjour,
j'ai implémenté un algorithme génétique et je veux maintenant afficher les résultats dans des courbes.
j'ai simulé l'algorithme 10 runs, j'ai obtenu donc 10 fichiers textes. Chaque fichier texte contient un seul colonne : best_fitness au cours de 100 génerations
Le contenu de fichier texte est comme ça:
Maintenant, je veux concaténer ces fichiers texte dans un fichier résultat csv : le fichier résultat normalement est une matrice de 100 lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 0.71348 0.62952 0.50388 0.50388 0.47668 0.36208 0.32 0.31428 0.27212 0.223 0.223 0.223 0.223 0.21432 ....
(nombre de générations) et 10 colonnes (10 runs).
j'ai essayé de faire ça en utilisant le module pandas :
Mais, malheureusement je n'ai pas généré la matrice voulue dans un fichier csv ; les fichiers sont concaténés dans une seule colonne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import os import pandas as pd # Les fichiers résultats soient dans un même dossier # On liste tous les fichiers avec l'extension '.txt'. path = r'mon\dossier' results_files = [f for f in os.listdir(path) if f.endswith('.txt')] # On ouvre et lit les fichiers. On les transforme en tableau et on les stock # dans une liste avant de les concaténer en un seul et unique tableau. # Pour pandas un tableau est un "DataFrame", d'où le "df". list_df = [] for f in results_files: df = pd.read_table(path + '\\' + f, index_col=None, header=0) # On en profite pour nommer la colonne de données df = df.rename(columns={'1': f}) list_df.append(df) results = pd.concat(list_df) # On sauve le tableau complet sous la forme souhaitée (un csv ou même # un fichier excel) results.to_csv( path + '\\' + 'results.csv', sep='\t', index=False)
S'il vous plait, pouvez vous m'aider .
Merci d'avance
Partager