Loading src/yapsut/__init__.py +1 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ from .montecarlo_fitting import EnsembleFitting_Base from .bar_plots import multi_vertical_bars #from .bars_collections import multi_vertical_bars from .collate_images import collate_images_r1_c2, collate_images_r2_c1, collate_images_r2_c2 from .key_blocks import key_blocks # planck legacy is under editing #from .planck_legacy import cosmological_dipole Loading src/yapsut/key_blocks.py 0 → 100644 +57 −0 Original line number Diff line number Diff line import numpy as np __description__=""" blocks of keys in a pandas table """ class key_blocks : """ blocks of keys in a pandas table """ @property def cblock(self) : "list of blocks" return self._cblock @property def cblocklst(self) : """content of each block""" return self._cblocklst @property def cblocktokens(self) : """tokens of each block""" return self._cblocktokens @property def lkeys(self) : """list of keys""" return self._cblocktokens def __getitem__(self,this) : if not this in self._cblock.keys() : raise Exception(f'{this} not a valid block name') return [this,self._cblock[this],self._cblocktokens[this]] def keys(self) : return self._cblock.keys() def __init__(self,list_keys) : """list_keys: list of keys in a pandas dataframe""" self._cblock={} current='_main_' self._cblock[current]=[0,-1] self._cblocklst={} self._cblocktokens={} self._lkeys=[] for ik,k in enumerate(list_keys) : self._lkeys.append(k) if k[0]=='_' and k[-1]=='_' and current!=k : if current != '' : self._cblock[current][1]=ik-1 self._cblocklst[current]=self._lkeys[self._cblock[current][0]:self._cblock[current][1]+1] current=k self._cblock[current]=[ik+1,-1] if self._cblock[current][1]<0 : self._cblock[current][1]=len(list_keys)-1 self._cblocklst[current]=self._lkeys[self._cblock[current][0]:self._cblock[current][1]+1] for cbk in self._cblock.keys() : ll=[k.split('/') for k in self._cblocklst[cbk]] self._nn=np.array([len(k) for k in ll]).max() #print(cbk,self._nn) ll1=[[] for k in range(self._nn)] for k in ll : for ik1,k1 in enumerate(k) : ll1[ik1].append([k1]) ll2=[list(np.unique(np.concatenate(k1))) for k1 in ll1 if len(k1)!=0] self._cblocktokens[cbk]=ll2 Loading
src/yapsut/__init__.py +1 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ from .montecarlo_fitting import EnsembleFitting_Base from .bar_plots import multi_vertical_bars #from .bars_collections import multi_vertical_bars from .collate_images import collate_images_r1_c2, collate_images_r2_c1, collate_images_r2_c2 from .key_blocks import key_blocks # planck legacy is under editing #from .planck_legacy import cosmological_dipole Loading
src/yapsut/key_blocks.py 0 → 100644 +57 −0 Original line number Diff line number Diff line import numpy as np __description__=""" blocks of keys in a pandas table """ class key_blocks : """ blocks of keys in a pandas table """ @property def cblock(self) : "list of blocks" return self._cblock @property def cblocklst(self) : """content of each block""" return self._cblocklst @property def cblocktokens(self) : """tokens of each block""" return self._cblocktokens @property def lkeys(self) : """list of keys""" return self._cblocktokens def __getitem__(self,this) : if not this in self._cblock.keys() : raise Exception(f'{this} not a valid block name') return [this,self._cblock[this],self._cblocktokens[this]] def keys(self) : return self._cblock.keys() def __init__(self,list_keys) : """list_keys: list of keys in a pandas dataframe""" self._cblock={} current='_main_' self._cblock[current]=[0,-1] self._cblocklst={} self._cblocktokens={} self._lkeys=[] for ik,k in enumerate(list_keys) : self._lkeys.append(k) if k[0]=='_' and k[-1]=='_' and current!=k : if current != '' : self._cblock[current][1]=ik-1 self._cblocklst[current]=self._lkeys[self._cblock[current][0]:self._cblock[current][1]+1] current=k self._cblock[current]=[ik+1,-1] if self._cblock[current][1]<0 : self._cblock[current][1]=len(list_keys)-1 self._cblocklst[current]=self._lkeys[self._cblock[current][0]:self._cblock[current][1]+1] for cbk in self._cblock.keys() : ll=[k.split('/') for k in self._cblocklst[cbk]] self._nn=np.array([len(k) for k in ll]).max() #print(cbk,self._nn) ll1=[[] for k in range(self._nn)] for k in ll : for ik1,k1 in enumerate(k) : ll1[ik1].append([k1]) ll2=[list(np.unique(np.concatenate(k1))) for k1 in ll1 if len(k1)!=0] self._cblocktokens[cbk]=ll2