I have a dataframe like this:
  name vals
0  foo    X
1  foo    Y
2  foo    Z
3  bar    Y
4  bar    Z
5  bar    Q
How can I transform it to like this:
      Q  X  Y  Z
name            
foo   0  1  1  1
bar   1  0  1  1
Code for first df:
df = pd.DataFrame({"name": ["foo", "foo", "foo",
                              "bar", "bar", "bar"],
                        "vals": ["X", "Y", "Z",
                              "Y", "Z", "Q"],
                        })
 
     
    