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')
Traceback (последний последний вызов):... AttributeError: объект 'Index' не имеет атрибута 'index'
Как получить сводную таблицу с количеством уникальных значений одного столбца DataFrame для двух других столбцов?
Существует ли aggfunc
для единственного числа? Должен ли я использовать np.bincount()
?
NB. Я знаю "Series" values_counts()
, но мне нужна сводная таблица.
EDIT: выход должен быть:
Z Z1 Z2 Z3
Y
Y1 1 1 NaN
Y2 NaN NaN 1