Учитывая данные с различными категориальными переменными, как мне вернуть перекрестную таблицу с процентами вместо частот?
df = pd.DataFrame({'A' : ['one', 'one', 'two', 'three'] * 6,
'B' : ['A', 'B', 'C'] * 8,
'C' : ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 4,
'D' : np.random.randn(24),
'E' : np.random.randn(24)})
pd.crosstab(df.A,df.B)
B A B C
A
one 4 4 4
three 2 2 2
two 2 2 2
Использование параметра полей в кросс-таблице для вычисления итогов строк и столбцов приближает нас настолько, чтобы думать, что это должно быть возможно с помощью aggfunc или groupby, но мой скудный мозг не может это продумать.
B A B C
A
one .33 .33 .33
three .33 .33 .33
two .33 .33 .33