Вопрос
У меня вопрос, аналогичный: перекрестная таблица с несколькими элементами, но я не пытаюсь сделать это в R, я пытаюсь сделать это в Python Pandas с перекрестной таблицей.
Я пытался использовать функцию перекрестной таблицы Python Pandas для создания демографической таблицы, но мне удалось создать только одну демографическую группу за раз. Другими словами, я хотел бы создать перекрестную таблицу, в которой все переменные строк будут находиться на одном уровне. Возможно, это не функция перекрестных таблиц, и для этого лучше подойдет что-то вроде сводной таблицы Pandas?
В настоящее время я использую следующие три строки кода, но думаю, что есть способ их объединить:
genderTable = pd.crosstab(refQtrData['GENDER'], [refQtrData['FUNDINGSOURCE'],refQtrData['PROVIDER'],refQtrData['LOCATION']], margins='true')
raceTable = pd.crosstab(refQtrData['RACETH4'], [refQtrData['FUNDINGSOURCE'],refQtrData['PROVIDER'],refQtrData['LOCATION']], margins='true')
ageTable = pd.crosstab(refQtrData['REFERRED'], [refQtrData['FUNDINGSOURCE'],refQtrData['PROVIDER'],refQtrData['LOCATION']], values=refQtrData['AGEREF'], aggfunc='mean')
Что я хотел бы сделать:
Демографическая таблица
Другая различная информация
Изначально это делается в SPSS с помощью приведенного ниже кода, но я пытаюсь перенести это на Python. Точно так же, как SPSS CTABLES позволяет мне иметь несколько категорий и переменных, я хотел бы иметь несколько строк, которые соответствуют разным переменным, но при этом они не должны находиться на разных уровнях.
CTABLES
/VLABELS VARIABLES= GENDER RACE AGE FUNDINGSOURCE PROVIDER LOCATION
DISPLAY=LABEL
/TABLE REFERRED [C][COUNT F40.0] + GENDER [C][COUNT F40.0, COLPCT.COUNT PCTPAREN40.0] + RACE
[C][COUNT F40.0, COLPCT.COUNT PCTPAREN40.0] + AGE [MEAN] + AGE [MINIMUM, MAXIMUM]
BY FUNDINGSOURCE [C] > PROVIDER [C] > LOCATION [C]
/SLABELS VISIBLE=NO
/CATEGORIES VARIABLES=GENDER RACE ORDER=A KEY=VALUE MISSING=INCLUDE EMPTY=INCLUDE
/CATEGORIES VARIABLES=FUNDINGSOURCE ORDER=A KEY=VALUE MISSING=INCLUDE EMPTY=EXCLUDE
/CATEGORIES VARIABLES=PROVIDER [1, 2] EMPTY=EXCLUDE
/CATEGORIES VARIABLES=LOCATION [1, 2] EMPTY=EXCLUDE.