diff --git a/README.rst b/README.rst index 9ddc4d2..959cef0 100644 --- a/README.rst +++ b/README.rst @@ -15,11 +15,24 @@ Please refer to https://philipmartini.github.io/PyCTBN/ for the full project doc Implementing your own data importer *********************************** -.. code-block:: python +| This example demonstrates the implementation of a simple data importer the extends the class AbstractImporter +| to import data in csv format. The net in exam has three ternary nodes and no prior net structure. +| Suppose the trajectories that have to be inported have this structure: +.. image:: docs-out/esempio_dataset.png + :width: 400 + :alt: An example trajectory to be imported. +| In the read_csv_file method the data are imported in memory, put in a list and assigned to the _df_samples_list class +| member, so that it contains all the trajectories to be processed. +| In the import_variables method the dataframe containing the nodes labels and the cardinalities of the nodes +|is assigned to the _df_variables class member. +| The class member _sorter has to contain the nodes labels in the same order of the trajectory columns, +| just override the build_sorter method to do that. +| If your datasets names have particular id, you can keep it using the dataset_id method to assign the id to a new class member. +| Finally the import_data method call all the previously implemented methods and calls the compute_row_delta_in_all_samples_frames +| to process all the trajectories in _df_samples_list. +| For more information about the class memebers and methods of AbstractImporter please refer to the documentation. - """This example demonstrates the implementation of a simple data importer the extends the class abstract importer to import data in csv format. - The net in exam has three ternary nodes and no prior net structure. - """ +.. code-block:: python from PyCTBN import AbstractImporter @@ -53,6 +66,18 @@ Implementing your own data importer def dataset_id(self) -> object: pass + def main(): + # create the importer object + csvimp = CSVImporter('/dataset_example.csv') + # call the wrapping method that wil import and process the data + csvimp.import_data() + # pass the AbstractImporter object to the SamplePath constructor + s1 = SamplePath(csvimp) + # SamplePath will contain the Trajecotry object... + s1.build_trajectories() + #...and the Structure object with all the process data + s1.build_structure() + Parameters Estimation Example *****************************