In [2]:
L = ['CPHL_INTEG', 'CPHL_INTEG_CALC', 'CPHL_BTL', 'SALT']
In [5]:
[L.index(p) for p in L if 'INTEG' in p]
Out[5]:
In [42]:
import pandas as pd
import numpy as np
import timeit
In [6]:
df =pd.DataFrame.from_dict({'STATN': ['A','A','A','A','A','B','B','',''], 'VISS': ['a','a','a','a','a','b','b','a','a'], 'CHL_BTL': [1,2,3,4,5, np.nan, np.nan, np.nan, np.nan], 'CHL_INTEG': [np.nan, np.nan, np.nan, np.nan, np.nan, 2, 2.5, np.nan, np.nan], 'DEPH': [0,5,10,0,5,np.nan,np.nan,np.nan,np.nan], 'MXDEP': [np.nan, np.nan, np.nan, np.nan, np.nan, 10, 10, 10, 10], 'CHL_INTEG_CALC': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, 5, 7]})
In [1]:
indicator_parameter = ['CHL_BTL', 'CHL_INTEG', 'CHL_INTEG_CALC']
In [8]:
df.dropna(subset = indicator_parameter, how = 'all')
Out[8]:
In [9]:
df.loc[df.VISS == 'a'].dropna(subset = indicator_parameter, how = 'all')
Out[9]:
In [10]:
wb_df = df.loc[df.VISS == 'a'].dropna(subset = indicator_parameter, how = 'all')[indicator_parameter]
col1 = wb_df.isnull().all()
In [11]:
col1
Out[11]:
In [12]:
col1[np.where(~col1)[0]].index[:].tolist()
Out[12]:
In [13]:
df[col1[np.where(~col1)[0]].index[:].tolist()]
Out[13]:
In [14]:
col1[np.where(col1)[0]].index[:].tolist()
Out[14]:
In [15]:
df.dropna(subset = col1[np.where(~col1)[0]].index[:].tolist(), how = 'all')
Out[15]:
In [58]:
statn = df.STATN.tolist()
pos = df.VISS.tolist()
In [59]:
%%timeit
for i, x in enumerate(statn):
if x == "":
statn[i] = pos[i]
df['STATN'] = statn
In [52]:
%%timeit
for i in df.index:
if df.loc[i, 'STATN'] == "":
df.loc[i, 'STATN'] = df.loc[i, 'VISS']
In [ ]:
df[STATN].apply(lambda x: float(x) if x else np.nan)
In [51]:
df.loc[i, 'STATN']
Out[51]:
In [38]:
statn
Out[38]:
In [28]:
i
In [39]:
df.VISS.tolist()
Out[39]:
In [ ]: