Bonjour à tous !
Je ne connais pas très bien python, juste les bases, et j'aimerais m'en servir pour de l'analyse de données. Je vais tâcher d'être synthétique.
J'ai deux fichiers CSV avec une dizaine de colonnes séparées par des ";" et 50000 de lignes environ.
Je sais que les données de la colonne 2 (par exemple) sont à peu près corrélées mais déphasées. Donc j'essaie de récupérer le delta_t histoire de les afficher sur un graphique et les comparer par la suite.
Mon problème n'est pas ici, mais dans la récupération des données CSV pour les mettre dans un "array" utilisable par numpy.correlate().
Voici un extrait du code :
La sortie est la suivante :
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 import os from numpy import * f1 = open('file1.csv', 'r') f2 = open('file2.csv', 'r') # file 1 reader = csv.reader(f1, delimiter=';', quoting=csv.QUOTE_NONE) all_channel_f1 = zeros((100000), dtype=int) i=0 for row in reader: all_channel_f1[i]=row[2] i = i+1 f1_nblines = reader.line_num # file 2 reader = csv.reader(f2, delimiter=';', quoting=csv.QUOTE_NONE) all_channel_f2 = zeros((100000), dtype=int) i=0 for row in reader: all_channel_f2[i]=row[2] i = i+1 f2_nblines = reader.line_num newsize = min(f1_nblines, f2_nblines) all_channel_f1.resize(newsize) all_channel_f2.resize(newsize) print newsize print all_channel_f1 print all_channel_f2 # correlate xcorr = correlate(all_channel_f1,all_channel_f2) print xcorr
La corrélation n'a pas fonctionné, car je me retrouve avec un seul nombre et je pense que c'est parce que le tableau n'est pas correctement créé, mais je n'en suis pas sûr.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 48810 [11 11 11 ..., 10 12 11] [12 11 12 ..., 11 11 11] [4574130]
Toute aide est la bienvenue !
Merci d'avance !
Partager