--- a +++ b/creating_vector.py @@ -0,0 +1,42 @@ +import csv +from collections import defaultdict +import numpy as np +from scipy.signal import * +from numpy.fft import * +from scipy import * +from pylab import * +import pywt +fout_data = open("train.csv",'a') +vec = [] +chan = ['Fp1','AF3','F3','F7','FC5','FC1','C3','T7','CP5','CP1','P3','P7','PO3','O1','Oz','Pz','Fp2','AF4','Fz','F4','F8','FC6','FC2','Cz','C4','T8','CP6','CP2','P4','P8','PO4','O2'] +columns = defaultdict(list) # each value in each column is appended to a list + +with open("features_raw.csv") as f: + reader = csv.DictReader(f) # read rows into a dictionary format + for row in reader: # read a row as {column1: value1, column2: value2,...} + for (k,v) in row.items(): # go over each column name and value + columns[k].append(v) # append the value into the appropriate list + # based on column name k +for i in chan: + x = np.array(columns[i]).astype(np.float) + coeffs = pywt.wavedec(x, 'db4', level=6) + cA6, cD6, cD5,cD4,cD3,cD2,cD1 = coeffs + cD5 = np.std(cD5) + cD4 = np.std(cD4) + cD3 = np.std(cD3) + cD2 = np.std(cD2) + cD1 = np.std(cD1) + if i =="O2": + fout_data.write(str(cD5)+",") + fout_data.write(str(cD4)+",") + fout_data.write(str(cD3)+",") + fout_data.write(str(cD2)+",") + fout_data.write(str(cD1)) + else: + fout_data.write(str(cD5)+",") + fout_data.write(str(cD4)+",") + fout_data.write(str(cD3)+",") + fout_data.write(str(cD2)+",") + fout_data.write(str(cD1)+",") +fout_data.write("\n") +fout_data.close()