get_bw_score
- get_bw_score(bw, master_compiledata=None, tK_animals_df=None, return_individual_scores=False, return_zscore_by_USUBJID=False)
Processes body weight data for study subjects, calculates z-scores, and enforces mutual exclusivity of certain return options.
Parameters:
bw (pandas.DataFrame): A DataFrame containing body weight data with columns STUDYID, USUBJID, BWTESTCD, BWSTRESN, VISITDY, and optionally BWDY.
master_compiledata (pandas.DataFrame, optional): A DataFrame containing metadata for subjects, including USUBJID, ARMCD, SETCD, and SEX. Defaults to None.
tK_animals_df (pandas.DataFrame, optional): A DataFrame containing information about animals to exclude, such as toxicokinetic (TK) animals. Defaults to None.
return_individual_scores (bool, optional): If True, individual scores for each subject will be calculated and returned. Defaults to False.
return_zscore_by_USUBJID (bool, optional): If True, z-scores by USUBJID will be calculated and returned. Defaults to False.
Raises:
ValueError: If both return_individual_scores and return_zscore_by_USUBJID are set to True.
Returns:
pandas.DataFrame: A DataFrame containing processed body weight data, filtered subjects, and calculated z-scores for high-dose (HD) subjects.
Notes:
This function performs the following steps: - Replaces missing VISITDY values with corresponding BWDY values. - Selects TERMBW rows or those with the maximum VISITDY > 5 if TERMBW is not available. - Filters out toxicokinetic (TK) animals using master_compiledata. - Joins body weight data with additional metadata and calculates z-scores for each subject in the “HD” group.
Example usage:
result = get_bw_score( bw=bw_data, master_compiledata=master_data, tK_animals_df=tk_animals, return_individual_scores=False, return_zscore_by_USUBJID=True )
The resulting DataFrame includes columns such as STUDYID, USUBJID, SEX, and BWZSCORE.