Как сделать «кросс-таблицу» с большим количеством значений, чем два? - PullRequest
0 голосов
/ 18 апреля 2019

Я работаю с двумя наборами данных:

datosAtletas:

ID        271116 non-null int64 
Name      271116 non-null object
Sex       271116 non-null object
Age       261642 non-null float64
Height    210945 non-null float64
Weight    208241 non-null float64
Team      271116 non-null object
NOC       271116 non-null object
Games     271116 non-null object
Year      271116 non-null int64
Season    271116 non-null object
City      271116 non-null object
Sport     271116 non-null object
Event     271116 non-null object
Medal     39783 non-null object

datosRegiones:

NOC       230 non-null object
region    227 non-null object
notes     21 non-null object

Я объединил эти два набора данных и назвал его «datosTotales», я пытаюсь создать DataFrame или перекрестную таблицу, которая показывает событие, страны, которые в нем участвовали, медали по признаку пола и общее количество спортсменов этих стран.

df = pd.DataFrame(datosTotales) 

pd.crosstab([df["Games"],df["region"]], df["Sex"], margins=True, margins_name="Atletas Totales")

Это дает мне таблицу, которая выглядит так:


                    Sex F   M   Atletas Totales
Games        region         
1896 Summer  Australia  0   5   5
             Austria    0   8   8
.
.
.
.
.

Но я пытаюсь составить таблицу, которая также может показывать медали


                F   M   Bronze Gold Silver Atletas Totales
Games   region      
.
.
.
.
.

I 'Я немного потерял здесь, я также пытался сделать это с DataFrame, но это не сработало: (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...