Use more_itertools.powerset
which will result in list of tuples so convert it into list of list using map()
import more_itertools
vals = df["PRESUMED_RESIDENCE"].to_list()
out = list(more_itertools.powerset(vals))[1:]
MOTIFS = list(map(list, out))
print(MOTIFS)
>> [['SJDR1'],
['LD1'],
['LD2'],
['TR1'],
['TR2'],
['SVM'],
['SJDR1', 'LD1'],
['SJDR1', 'LD2'],
['SJDR1', 'TR1'],
['SJDR1', 'TR2'],
['SJDR1', 'SVM'],
['LD1', 'LD2'],
['LD1', 'TR1'],
['LD1', 'TR2'],
['LD1', 'SVM'],
['LD2', 'TR1'],
['LD2', 'TR2'],
['LD2', 'SVM'],
['TR1', 'TR2'],
['TR1', 'SVM'],
['TR2', 'SVM'],
['SJDR1', 'LD1', 'LD2'],
['SJDR1', 'LD1', 'TR1'],
['SJDR1', 'LD1', 'TR2'],
['SJDR1', 'LD1', 'SVM'],
['SJDR1', 'LD2', 'TR1'],
['SJDR1', 'LD2', 'TR2'],
['SJDR1', 'LD2', 'SVM'],
['SJDR1', 'TR1', 'TR2'],
['SJDR1', 'TR1', 'SVM'],
['SJDR1', 'TR2', 'SVM'],
['LD1', 'LD2', 'TR1'],
['LD1', 'LD2', 'TR2'],
['LD1', 'LD2', 'SVM'],
['LD1', 'TR1', 'TR2'],
['LD1', 'TR1', 'SVM'],
['LD1', 'TR2', 'SVM'],
['LD2', 'TR1', 'TR2'],
['LD2', 'TR1', 'SVM'],
['LD2', 'TR2', 'SVM'],
['TR1', 'TR2', 'SVM'],
['SJDR1', 'LD1', 'LD2', 'TR1'],
['SJDR1', 'LD1', 'LD2', 'TR2'],
['SJDR1', 'LD1', 'LD2', 'SVM'],
['SJDR1', 'LD1', 'TR1', 'TR2'],
['SJDR1', 'LD1', 'TR1', 'SVM'],
['SJDR1', 'LD1', 'TR2', 'SVM'],
['SJDR1', 'LD2', 'TR1', 'TR2'],
['SJDR1', 'LD2', 'TR1', 'SVM'],
['SJDR1', 'LD2', 'TR2', 'SVM'],
['SJDR1', 'TR1', 'TR2', 'SVM'],
['LD1', 'LD2', 'TR1', 'TR2'],
['LD1', 'LD2', 'TR1', 'SVM'],
['LD1', 'LD2', 'TR2', 'SVM'],
['LD1', 'TR1', 'TR2', 'SVM'],
['LD2', 'TR1', 'TR2', 'SVM'],
['SJDR1', 'LD1', 'LD2', 'TR1', 'TR2'],
['SJDR1', 'LD1', 'LD2', 'TR1', 'SVM'],
['SJDR1', 'LD1', 'LD2', 'TR2', 'SVM'],
['SJDR1', 'LD1', 'TR1', 'TR2', 'SVM'],
['SJDR1', 'LD2', 'TR1', 'TR2', 'SVM'],
['LD1', 'LD2', 'TR1', 'TR2', 'SVM'],
['SJDR1', 'LD1', 'LD2', 'TR1', 'TR2', 'SVM']]