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 :
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 sortie est la suivante :
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]
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.
Toute aide est la bienvenue !

Merci d'avance !