Source code for pedophysics.predict.solid_perm

import numpy as np

[docs]def SolidPerm(soil): """ Set missing values of soil.df.solid_perm and return If any value of the solid_perm attribute is missing (NaN), it will be set to a default value of 4. Corresponding information in the soil's info dataframe will be updated accordingly. Parameters ---------- soil : object A custom soil object that contains: - solid_perm : array-like Soil solid real relative dielectric permittivity phase [-] - df : DataFrame Data Frame containing all the quantitative information of soil array-like attributes for each state - info : DataFrame Data Frame containing the qualitative information about all array-like soil attributes for each state - n_states : int Number of states or records in the dataframe. Returns ------- np.ndarray soil.df.solid_perm.values: an array of updated soil solid real relative dielectric permittivity phase values Example ------- >>> sample = Soil() >>> sample.df.solid_perm 0 NaN Name: solid_perm, dtype: float64 >>> SolidPerm(sample) >>> sample.df.solid_perm 0 4 Name: solid_perm, dtype: float64 """ # Check if any value of solid_perm is missing if (np.isnan(soil.df.solid_perm)).any: soil.info['solid_perm'] = ["Set as 4 by default" if np.isnan(soil.df.solid_perm[x]) or soil.info.solid_perm[x] == "Set as 4 by default" else soil.info.solid_perm[x] for x in range(soil.n_states)] soil.df.loc[np.isnan(soil.df['solid_perm']), ['solid_perm']] = 4 return soil.df.solid_perm.values