Это мой Dataframe
import pandas as pd
df = pd.DataFrame({
"Gender": ["M", "F", "M", "M", "M", "F", "F", "F", "F", "F", "F"],
"Work-code": ["N1", "N3", "N1", "N1", "X15", "N3", "N3", "N3", "N3", "N1", "N3"],
"Accident-type-code": ["1.1","1.2", "1.1","1.3","1.5","1.3","1.1","1.1","1.1", "1.1", "1.3"]
})
Для анализа этих данных я использую groupby:
data = df.groupby(["Gender", "Work-code"])["Accident-type-code"].value_counts()
Вот что я получаю:
Gender Work-code Accident-type-code
F N1 1.1 1
N3 1.1 3
1.3 2
1.2 1
M N1 1.1 2
1.3 1
X15 1.5 1
Мне нужна только первая строка каждой внутренней группы (самая частая группа для данной внешней группы), например:
Gender Work-code Accident-type-code
F N1 1.1 1
N3 1.1 3
M N1 1.1 2
X15 1.5 1
На самом деле, я делаю это, потому что хочу сделать двумерный распределение частот, но я не знаю ни одной функции или библиотеки в python, чтобы сделать это.