class EXCEL: def __init__(self, xls_filepath): self.filepath = xls_filepath self.xls_reader = ExcelFile(xls_filepath) self.sheet_names = self.xls_reader.sheet_names if len(self.sheet_names) == 1: self.select_sheet(self.sheet_names[0]) self.time = datetime.datetime.now() def add(self): pass @property def data(self): return self._data def select_sheet(self, sheet_name): self._data = self.xls_reader.parse( sheet_name) #self._data = pd.read_excel(xls_filepath) def merge_sheet(self): sheets = [] for sheet_name in self.sheet_names: sheet = self.xls_reader.parse(sheet_name) sheets.append(sheet) self._data = pd.concat(sheets) def save(self, xls_filepath, sheet_name='Sheet5'): self.xls_reader.close() self.xls_writer = ExcelWriter(xls_filepath) self._data.to_excel(self.xls_writer, sheet_name) self.xls_writer.save()
def load_segments_data(): path_measures = 'man_jacket_hand_measures.xls' xl = ExcelFile(path_measures) sheet = xl.parse(xl.sheet_names[0]) """ be careful, parse() just reads literals, does not execute formulas """ xl.close() it = sheet.iterrows() labels_segments = [] segments = [] for row in it: ide = row[1]['ide'] segments.append(np.load(os.path.join('segments', ide + '_front.npy'))) labels_segments.append(list(row[1].values[-num_segments_per_jacket:])) labels_segments = np.array(labels_segments).astype(int) return labels_segments, segments, sheet
def load_dataset(measures_path, segments_path): """ Load the segments and the groundtruth for all jackets """ xl = ExcelFile(measures_path) sheet = xl.parse(xl.sheet_names[0]) """ be careful, parse() just reads literals, does not execute formulas """ xl.close() it = sheet.iterrows() labels = [] features = [] for row in it: ide = row[1]['ide'] features.append( np.load(os.path.join(segments_path, ide + '_front.npy'), allow_pickle=True, encoding='latin1')) labels.append(list(row[1].values[-num_segments_per_jacket:])) return features, labels
from plot_segments import plot_segments num_segments_per_jacket = 40 add_gaussian_noise_to_features = False sigma_noise = 0.1 plot_labeling = False plot_coefficients = True """ Load the segments and the groundtruth for all jackets """ path_measures = 'man_jacket_hand_measures.xls' xl = ExcelFile(path_measures) sheet = xl.parse(xl.sheet_names[0]) """ be careful, parse() just reads literals, does not execute formulas """ xl.close() it = sheet.iterrows() labels_segments = [] segments = [] for row in it: ide = row[1]['ide'] segments.append(np.load(os.path.join('segments', ide + '_front.npy'))) labels_segments.append(list(row[1].values[-num_segments_per_jacket:])) labels_segments = np.array(labels_segments).astype(int) """ Make matrices X of shape (number of jackets, number of features) and Y of shape (number of jackets, number of segments) where, for all jackets, X = select the features for each segment