def fit(self, bt): """Fits widget.""" # Create blender template if not isinstance(bt, BlenderTemplate): bt = BlenderTemplate().fit(bt) # Check whether template is compatible if self.compatible_template(bt): self.bt = bt # Return return self
{'from_name': None, 'to_name': 'date_laboratory', 'study_day_col': 'lab_study_day', 'study_day_ref': 'date_enrolment'}, ] # Data data = [ {'StudyNo': '32dx-001', 'DateEnrol': '2020/12/01', 'LabStudyDay': 1}, {'StudyNo': '32dx-002', 'DateEnrol': '2020/12/04', 'LabStudyDay': 5}, {'StudyNo': '32dx-003', 'DateEnrol': '2020/12/11', 'LabStudyDay': 10}, {'StudyNo': '32dx-004', 'DateEnrol': '2020/12/08 04:30', 'LabStudyDay': 0}, {'StudyNo': '32dx-005', 'LabStudyDay': 3}, {'StudyNo': '32dx-005', 'DateEnrol': '2020/12/07'} ] # Blender template bt = BlenderTemplate().fit(template) # Create data data = pd.DataFrame(data) # Create widgets and transform trans = RenameWidget().fit_transform(bt, data) trans = DateFromStudyDayWidget().fit_transform(bt, trans) # Show print("\nOriginal:") print(data) print("\nTransformed:") print(trans)
def test_bt_fit_raises_exception_on_None(): """Widget none template.""" with pytest.raises(TypeError): BlenderTemplate().fit(None)
def bt(bt_df): return BlenderTemplate().fit(bt_df)
def test_widget_raises_exception_on_missing_required_columns(bt_df): """""" bt_df = bt_df.drop(columns='to_name') bt = BlenderTemplate().fit(bt_df) with pytest.raises(MissingRequiredColumns): RenameWidget().fit(bt)
def test_bt_fit_from_data(data): """""" bt = BlenderTemplate().fit_from_data(data) assert isinstance(bt, BlenderTemplate)
def test_bt_fit_from_json(bt_json): """""" bt = BlenderTemplate().fit(bt_json) assert isinstance(bt, BlenderTemplate)
def test_bt_fit_from_df(bt_df): """Widget none template.""" bt = BlenderTemplate().fit(bt_df) assert isinstance(bt, BlenderTemplate)
{ 'from_name': 'StudyNo', 'to_name': 'study_number' }, { 'from_name': 'Temp', 'to_name': 'body_temperature' }, { 'from_name': 'Shock', 'to_name': 'shock' }, { 'from_name': 'Sex', 'to_name': 'gender' } ] # ------------------------ # Main # ------------------------ # Create blender DataFrame template bt_df = pd.DataFrame(template) # Create blender template bt1 = BlenderTemplate().fit(bt_df) bt2 = BlenderTemplate().fit(template) # Show print(bt1) print(bt2)
curr_path, 'ccfgs_32dx_data_fixed.xlsx') # -------------------- # Main # -------------------- # Read all data sheets data = pd.read_excel(path_data, sheet_name=None) # Create templates templates = {} # Fill templates for k, df in data.items(): # Show information print("Processing sheet... %s <%s>." % (path_data, k)) # Create descriptor template templates[k] = BlenderTemplate().fit_from_data(df) # ----------- # Save # ----------- # Create path if it does not exist path = pathlib.Path(path_ccfgs) path.parent.mkdir(parents=True, exist_ok=True) # Format templates (improve this) aux = {k:v.df for k,v in templates.items()} # Save save_xlsx(aux, path_ccfgs)
{ 'pid': '32dx-001', 'date_exam': '10/07/2020', 'Temp': 37.2, 'Sex': 1 }, { 'pid': '32dx-002', 'date_exam': '08/07/2020', 'Temp': 37.5, 'Sex': 2 }, { 'pid': '32dx-003', 'date_exam': '10/07/2020', 'Temp': 36.7, 'Sex': 2 }, ] # -------------------- # Main # -------------------- # Read all data sheets data = pd.DataFrame(data) # Create template template = BlenderTemplate().fit_from_data(data) # Show print(template)