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.*
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
@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.*
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