Source code for pharmpy.tools.resmod.results

from pathlib import Path

import pandas as pd

from pharmpy.results import Results


[docs]class ResmodResults(Results): """Resmod results class""" def __init__(self, models=None): self.models = models
[docs]def psn_resmod_results(path): path = Path(path) res = ResmodResults() respath = path / 'resmod_results.csv' if respath.is_file(): df = pd.read_csv(respath, names=range(40), skiprows=[0], engine='python') df[0].fillna(1, inplace=True) df[1].fillna(1, inplace=True) df.dropna(how='all', axis=1, inplace=True) df2 = df[[0, 1, 2, 3]].copy() df2 = df2.astype({0: int}) df2.columns = ['iteration', 'DVID', 'model', 'dOFV'] df2.set_index(['iteration', 'DVID', 'model'], inplace=True) parameters = pd.Series(name='parameters', index=df.index, dtype=object) for rowind, row in df.iterrows(): d = dict() for i in range(4, len(row)): if row[i] is not None: a = row[i].split('=') d[a[0]] = float(a[1]) parameters[rowind] = d parameters.index = df2.index df2['parameters'] = parameters res.models = df2 return res