I'm trying to do a seemingly very simple task. Given a dataframe:
data = {
'lifestage': ['a', 'b', 'c', 'a', 'a', 'b'],
'CC': [1, 1, 0, 1, 0, 0],
'DC': [1, 0, 1, 0, 1, 0],
'AC': [1, 1, 0, 1, 1, 1],
'CASA': [1, 0, 0, 0, 1, 0],
'Stage_1': [1, 0, 1, 0, 1, 0],
'Stage_2': [0, 1, 0, 1, 0, 0],
'Stage_3': [0, 0, 0, 1, 0, 1]
}
df1 = pd.DataFrame(data)
Where the orginal table looks like this:
lifestage | CC | DC | AC | CASA | Stage_1 | Stage_2 | Stage_3 |
---|---|---|---|---|---|---|---|
a | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
b | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
c | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
a | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
a | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
b | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
So that the output will look like this
Lifestage | Product | Stage_1 | Stage_2 | Stage_3 |
---|---|---|---|---|
a | CC | 1 | 0 | 1 |
a | DC | 2 | 0 | 0 |
a | AC | 2 | 0 | 1 |
a | CASA | 2 | 0 | 0 |
b | CC | 0 | 1 | 0 |
b | DC | 0 | 0 | 0 |
b | AC | 0 | 1 | 1 |
b | CASA | 0 | 0 | 0 |
c | CC | 0 | 0 | 0 |
c | DC | 1 | 0 | 0 |
c | AC | 0 | 0 | 0 |
c | CASA | 0 | 0 | 0 |