ntv-pandas.ntv_pandas.accessors

Created on Sun Oct 8 2023

@author: philippe@loco-labs.io

Accessor methods bound to pd.Series.npd, pd.DataFrame.npd

 1# -*- coding: utf-8 -*-
 2"""
 3Created on Sun Oct 8 2023
 4
 5@author: philippe@loco-labs.io
 6
 7
 8Accessor methods bound to pd.Series.npd, pd.DataFrame.npd
 9"""
10import pandas as pd
11from ntv_pandas.pandas_ntv_connector import to_json, as_def_type, equals, to_analysis, check_relation
12from tab_analysis import AnaDataset
13
14try:
15    # delete the accessor to avoid warning
16    del pd.DataFrame.npd
17except AttributeError:
18    pass
19
20
21@pd.api.extensions.register_dataframe_accessor("npd")
22class NpdDataFrameAccessor:
23    """Accessor class for methods invoked as `pd.DataFrame.npd.*`"""
24
25    def __init__(self, pandas_obj):
26        self._obj = pandas_obj
27
28    def analysis(self):
29        """Accessor for method `tab_analysis.AnaDataset` applied with 
30        `pandas_ntv_connector.to_analysis` invoked as `pd.DataFrame.npd.analysis`"""
31        return AnaDataset(to_analysis(self._obj))
32
33    def check_relation(self, parent, child, typecoupl, value=True):
34        ''' Accessor for method `pandas_ntv_connector.check_relation` invoket as 
35        `pd.DataFrame.npd.check_relation`'''
36        return check_relation(self._obj, parent, child, typecoupl, value)
37    
38    def to_json(self, **kwargs):
39        """Accessor for method `pandas_ntv_connector.to_json` invoked as
40        `pd.DataFrame.npd.to_json`"""
41        return to_json(self._obj, **kwargs)
42    
43    def as_def_type(self):
44        """Accessor for method `pandas_ntv_connector.as_def_type` invoked as
45        `pd.DataFrame.npd.as_def_type`"""
46        return as_def_type(self._obj)
47
48    def equals(self, other):
49        """Accessor for method `pandas_ntv_connector.equals` invoked as
50        `pd.DataFrame.npd.equals`"""
51        return equals(self._obj, other)
52
53try:
54    # delete the accessor to avoid warning
55    del pd.Series.npd
56except AttributeError:
57    pass
58
59
60@pd.api.extensions.register_series_accessor("npd")
61class NpdSeriesAccessor:
62    """Accessor class for methods invoked as `pd.Series.npd.*`"""
63
64    def __init__(self, pandas_obj):
65        self._obj = pandas_obj
66
67    def to_json(self, **kwargs):
68        """Accessor for method `pandas_ntv_connector.to_json` invoked as
69        `pd.Series.npd.to_json`"""
70        return to_json(self._obj, **kwargs)
71
72    def as_def_type(self):
73        """Accessor for method `pandas_ntv_connector.as_def_type` invoked as
74        `pd.Series.npd.as_def_type`"""
75        return as_def_type(self._obj)
76
77    def equals(self, other):
78        """Accessor for method `pandas_ntv_connector.equals` invoked as
79        `pd.DataFrame.npd.equals`"""
80        return equals(self._obj, other)
@pd.api.extensions.register_dataframe_accessor('npd')
class NpdDataFrameAccessor:
22@pd.api.extensions.register_dataframe_accessor("npd")
23class NpdDataFrameAccessor:
24    """Accessor class for methods invoked as `pd.DataFrame.npd.*`"""
25
26    def __init__(self, pandas_obj):
27        self._obj = pandas_obj
28
29    def analysis(self):
30        """Accessor for method `tab_analysis.AnaDataset` applied with 
31        `pandas_ntv_connector.to_analysis` invoked as `pd.DataFrame.npd.analysis`"""
32        return AnaDataset(to_analysis(self._obj))
33
34    def check_relation(self, parent, child, typecoupl, value=True):
35        ''' Accessor for method `pandas_ntv_connector.check_relation` invoket as 
36        `pd.DataFrame.npd.check_relation`'''
37        return check_relation(self._obj, parent, child, typecoupl, value)
38    
39    def to_json(self, **kwargs):
40        """Accessor for method `pandas_ntv_connector.to_json` invoked as
41        `pd.DataFrame.npd.to_json`"""
42        return to_json(self._obj, **kwargs)
43    
44    def as_def_type(self):
45        """Accessor for method `pandas_ntv_connector.as_def_type` invoked as
46        `pd.DataFrame.npd.as_def_type`"""
47        return as_def_type(self._obj)
48
49    def equals(self, other):
50        """Accessor for method `pandas_ntv_connector.equals` invoked as
51        `pd.DataFrame.npd.equals`"""
52        return equals(self._obj, other)

Accessor class for methods invoked as pd.DataFrame.npd.*

NpdDataFrameAccessor(pandas_obj)
26    def __init__(self, pandas_obj):
27        self._obj = pandas_obj
def analysis(self):
29    def analysis(self):
30        """Accessor for method `tab_analysis.AnaDataset` applied with 
31        `pandas_ntv_connector.to_analysis` invoked as `pd.DataFrame.npd.analysis`"""
32        return AnaDataset(to_analysis(self._obj))

Accessor for method tab_analysis.AnaDataset applied with pandas_ntv_connector.to_analysis invoked as pd.DataFrame.npd.analysis

def check_relation(self, parent, child, typecoupl, value=True):
34    def check_relation(self, parent, child, typecoupl, value=True):
35        ''' Accessor for method `pandas_ntv_connector.check_relation` invoket as 
36        `pd.DataFrame.npd.check_relation`'''
37        return check_relation(self._obj, parent, child, typecoupl, value)

Accessor for method pandas_ntv_connector.check_relation invoket as pd.DataFrame.npd.check_relation

def to_json(self, **kwargs):
39    def to_json(self, **kwargs):
40        """Accessor for method `pandas_ntv_connector.to_json` invoked as
41        `pd.DataFrame.npd.to_json`"""
42        return to_json(self._obj, **kwargs)

Accessor for method pandas_ntv_connector.to_json invoked as pd.DataFrame.npd.to_json

def as_def_type(self):
44    def as_def_type(self):
45        """Accessor for method `pandas_ntv_connector.as_def_type` invoked as
46        `pd.DataFrame.npd.as_def_type`"""
47        return as_def_type(self._obj)

Accessor for method pandas_ntv_connector.as_def_type invoked as pd.DataFrame.npd.as_def_type

def equals(self, other):
49    def equals(self, other):
50        """Accessor for method `pandas_ntv_connector.equals` invoked as
51        `pd.DataFrame.npd.equals`"""
52        return equals(self._obj, other)

Accessor for method pandas_ntv_connector.equals invoked as pd.DataFrame.npd.equals

@pd.api.extensions.register_series_accessor('npd')
class NpdSeriesAccessor:
61@pd.api.extensions.register_series_accessor("npd")
62class NpdSeriesAccessor:
63    """Accessor class for methods invoked as `pd.Series.npd.*`"""
64
65    def __init__(self, pandas_obj):
66        self._obj = pandas_obj
67
68    def to_json(self, **kwargs):
69        """Accessor for method `pandas_ntv_connector.to_json` invoked as
70        `pd.Series.npd.to_json`"""
71        return to_json(self._obj, **kwargs)
72
73    def as_def_type(self):
74        """Accessor for method `pandas_ntv_connector.as_def_type` invoked as
75        `pd.Series.npd.as_def_type`"""
76        return as_def_type(self._obj)
77
78    def equals(self, other):
79        """Accessor for method `pandas_ntv_connector.equals` invoked as
80        `pd.DataFrame.npd.equals`"""
81        return equals(self._obj, other)

Accessor class for methods invoked as pd.Series.npd.*

NpdSeriesAccessor(pandas_obj)
65    def __init__(self, pandas_obj):
66        self._obj = pandas_obj
def to_json(self, **kwargs):
68    def to_json(self, **kwargs):
69        """Accessor for method `pandas_ntv_connector.to_json` invoked as
70        `pd.Series.npd.to_json`"""
71        return to_json(self._obj, **kwargs)

Accessor for method pandas_ntv_connector.to_json invoked as pd.Series.npd.to_json

def as_def_type(self):
73    def as_def_type(self):
74        """Accessor for method `pandas_ntv_connector.as_def_type` invoked as
75        `pd.Series.npd.as_def_type`"""
76        return as_def_type(self._obj)

Accessor for method pandas_ntv_connector.as_def_type invoked as pd.Series.npd.as_def_type

def equals(self, other):
78    def equals(self, other):
79        """Accessor for method `pandas_ntv_connector.equals` invoked as
80        `pd.DataFrame.npd.equals`"""
81        return equals(self._obj, other)

Accessor for method pandas_ntv_connector.equals invoked as pd.DataFrame.npd.equals