Search code examples
pythonconditional-statementsbooleandataset

Concat columns name with BOOLEAN condition


folks. How can I concatenate BOOLEAN columns name to a new column on Pandas?

Original dataset

Column01 Column02
TRUE TRUE
FALSE TRUE

Desired output

Column01 Column02 CONCATENATED
TRUE TRUE Column01, Column02
FALSE TRUE Column02

Solution

  • import pandas as pd
    
    
    def t(x):
        x["CONCATENATED"] = ", ".join([x.index[i]  for i in range(len(x)) if x.values[i] == True])
        return x
    
    
    df = pd.DataFrame({"Column01": [True, False], "Column02": [True, True]})
    
    print(df.apply(t, axis=1))
    

    OUTPUT:

       Column01  Column02        CONCATENATED
    0      True      True  Column01, Column02
    1     False      True            Column02