예제 #1
0
def test_time_varying_covariates(df):
    assert df.pharmpy.time_varying_covariates == ['WGT']
    df_untyped = data.PharmDataFrame({
        'ID': [1, 1, 2, 2],
        'DV': [0.1, 0.2, 0.5, 0.6]
    })
    assert df_untyped.pharmpy.time_varying_covariates == []
예제 #2
0
def df():
    df = data.PharmDataFrame({
        'ID': [1, 1, 2, 2],
        'DV': [0.1, 0.2, 0.5, 0.6],
        'WGT': [70, 72, 75, 75],
        'HGT': [185, 185, 160, 160]
    })
    df.pharmpy.column_type[('ID', 'DV', 'WGT', 'HGT')] = [
        data.ColumnType.ID, data.ColumnType.DV, data.ColumnType.COVARIATE,
        data.ColumnType.COVARIATE
    ]
    return df
예제 #3
0
def df3():
    df = data.PharmDataFrame({
        'ID': [1, 1, 1, 1, 2, 2, 2, 2],
        'DV': [0, 0.1, 0.5, 0.5, 0, 0.3, 4, 1],
        'TIME': [0, 2, 5, 9, 0, 2, 5, 9],
        'AMT': [4, 0, 3, 0, 2, 0, 0, 0],
    })
    df.pharmpy.column_type[('ID', 'DV', 'TIME', 'AMT')] = [
        data.ColumnType.ID,
        data.ColumnType.DV,
        data.ColumnType.IDV,
        data.ColumnType.DOSE,
    ]
    return df
예제 #4
0
def df2():
    df = data.PharmDataFrame({
        'ID': [1, 1, 2, 2],
        'DV': [0, 0.2, 0, 0.6],
        'WGT': [70, 72, 75, 75],
        'HGT': [185, 185, 160, 160],
        'TIME': [0, 1, 0, 1],
        'AMT': [1, 0, 1, 0],
    })
    df.pharmpy.column_type[('ID', 'DV', 'WGT', 'HGT', 'TIME', 'AMT')] = [
        data.ColumnType.ID,
        data.ColumnType.DV,
        data.ColumnType.COVARIATE,
        data.ColumnType.COVARIATE,
        data.ColumnType.IDV,
        data.ColumnType.DOSE,
    ]
    return df
예제 #5
0
def test_accessor_get_set_column_type():
    df = data.PharmDataFrame(
        {
            'ID': [1, 1, 2, 2],
            'DV': [0.1, 0.2, 0.5, 0.6],
            'WGT': [70, 70, 75, 75],
            'HGT': [185, 185, 160, 160],
        }
    )
    assert df.pharmpy.column_type['ID'] == data.ColumnType.UNKNOWN
    assert df.pharmpy.column_type[('ID', 'DV')] == [
        data.ColumnType.UNKNOWN,
        data.ColumnType.UNKNOWN,
    ]

    df.pharmpy.column_type['ID'] = data.ColumnType.ID
    df.pharmpy.column_type['DV'] = data.ColumnType.DV
    with pytest.raises(KeyError):  # Max one id column
        df.pharmpy.column_type['DV'] = data.ColumnType.ID
    with pytest.raises(KeyError):
        df.pharmpy.column_type['NOEXISTS'] = data.ColumnType.COVARIATE
    with pytest.raises(ValueError):
        df.pharmpy.column_type[('ID', 'DV')] = [
            data.ColumnType.COVARIATE,
            data.ColumnType.COVARIATE,
            data.ColumnType.COVARIATE,
        ]
    with pytest.raises(KeyError):
        df.pharmpy.column_type['NOAVAIL']
    assert df.pharmpy.column_type['ID'] == data.ColumnType.ID
    assert df.pharmpy.column_type['DV'] == data.ColumnType.DV
    assert df.pharmpy.column_type[['ID', 'DV']] == [data.ColumnType.ID, data.ColumnType.DV]
    df.pharmpy.column_type[['HGT', 'WGT']] = data.ColumnType.COVARIATE
    assert df.pharmpy.labels_by_type[data.ColumnType.COVARIATE] == ['WGT', 'HGT']
    df2 = df.copy()
    assert df2.pharmpy.column_type['ID'] == data.ColumnType.ID
    assert df2.pharmpy.column_type['DV'] == data.ColumnType.DV

    assert df2.pharmpy.labels_by_type[data.ColumnType.ID] == ['ID']
    assert df2.pharmpy.labels_by_type[[data.ColumnType.ID]] == ['ID']
    assert df2.pharmpy.labels_by_type[[]] == []
    assert df2.pharmpy.labels_by_type[data.ColumnType.DV] == ['DV']
    assert df2.pharmpy.labels_by_type[[data.ColumnType.ID, data.ColumnType.DV]] == ['ID', 'DV']

    assert df2.pharmpy.id_label == 'ID'

    df2.pharmpy.column_type[['ID', 'DV']] = (data.ColumnType.COVARIATE, data.ColumnType.IDV)
    assert df2.pharmpy.column_type[['ID', 'DV']] == [data.ColumnType.COVARIATE, data.ColumnType.IDV]
    assert df.pharmpy.column_type['ID'] == data.ColumnType.ID

    df3 = data.PharmDataFrame(
        {1: [1, 1, 2, 2], 2: [0.1, 0.2, 0.5, 0.6], 3: [70, 70, 75, 75], 4: [185, 185, 160, 160]}
    )
    assert df3.pharmpy.column_type[1] == data.ColumnType.UNKNOWN
    df3.pharmpy.column_type[[3, 4]] = data.ColumnType.COVARIATE
    df3.pharmpy.column_type[1] = data.ColumnType.ID
    assert df3.pharmpy.column_type[[1, 2, 3, 4]] == [
        data.ColumnType.ID,
        data.ColumnType.UNKNOWN,
        data.ColumnType.COVARIATE,
        data.ColumnType.COVARIATE,
    ]
예제 #6
0
def test_data_frame():
    df = data.PharmDataFrame({'ID': [1, 1, 2, 2], 'DV': [0.1, 0.2, 0.5, 0.6]})
    assert list(df.columns) == ['ID', 'DV']