Skip to content

Support multilevel groupby #18

@tompollard

Description

@tompollard

It would be good to support multilevel groupby arguments. e.g. groupby = ['icu_type','gender'].

e.g.: achieve something similar to:

from tableone import TableOne
import pandas as pd

url="https://raw.githubusercontent.com/tompollard/tableone/master/data/pn2012_demo.csv"
data=pd.read_csv(url)

df = TableOne(data)

pd.concat([df.tableone,df.tableone], axis=1)

Notes:

# columns to be summarized
columns = ['Age', 'SysABP', 'Height', 'Weight', 'ICU', 'death']

# columns containing categorical variables
categorical = ['ICU', 'death']

# non-normal variables
nonnormal = ['Age']

# alternative labels
labels={'LOS': 'Length of stay', 'death': 'mortality'}

groupby = ['death']
second = 'ICU'
tdict = {}

for d in data[second].unique():
    print(d)
    tdict[d] =  TableOne(data[data[second] == d], columns, categorical, groupby, nonnormal)

pd.concat([tdict['SICU'].tableone,tdict['CSRU'].tableone,tdict['MICU'].tableone],axis=1)

pd.concat([tdict[x].tableone for x in data[second].unique()],axis=1)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions