Python Pandas: pivot table z aggfunc = count unique different

df2 = pd.DataFrame({'X' : ['X1', 'X1', 'X1', 'X1'], 'Y' : ['Y2','Y1','Y1','Y1'], 'Z' : ['Z3','Z1','Z1','Z2']})

    X   Y   Z
0  X1  Y2  Z3
1  X1  Y1  Z1
2  X1  Y1  Z1
3  X1  Y1  Z2

g=df2.groupby('X')

pd.pivot_table(g, values='X', rows='Y', cols='Z', margins=False, aggfunc='count')

Śledzenie (ostatnie ostatnie wywołanie): ... AttributeError: Obiekt „Index” nie ma atrybutu „index”

Jak uzyskać tabelę przestawną zliczy unikalne wartości jednej kolumny DataFrame dla dwóch innych kolumn?
Jest tuaggfunc za liczbę unikalną? Czy powinienem używaćnp.bincount()?

NB. Jestem świadomy „Serii”values_counts() jednak potrzebuję tabeli przestawnej.

EDYCJA: Wyjście powinno być:

Z   Z1  Z2  Z3
Y             
Y1   1   1 NaN
Y2 NaN NaN   1

questionAnswers(5)

yourAnswerToTheQuestion