Предположим, что я пытаюсь отобразить total_cases_age на cases_by_age где dataframes являются:значения Карта на DataFrame двумя колоннами
results_grouped_age = results_grouped[['Make', 'age', 'Test Result', 'Number of Cases']].copy()
cases_by_age = results_grouped_age[['Make','age','Test Result','Number of Cases']].groupby(['Make','age','Test Result']).sum().reset_index()
total_cases_age = cases_by_age.groupby(['Make','age'])['Number of Cases'].sum()
Однако в то время как я обычно делаю:
cases_by_age['Total Cases'] = cases_by_age['age'].map(total_cases_age)
Индексы total_cases_age на самом деле сочетание «make and age», и это на самом деле то, что я хочу сделать. Чтобы легче понять мою проблему, предположим, что у меня есть таблица cases_by_age»
Make age Test Result Number of Cases
0 ALFA ROMEO 0-3 ABA 1
1 ALFA ROMEO 0-3 ABR NaN
2 ALFA ROMEO 0-3 F 45
3 ALFA ROMEO 0-3 P 268
4 ALFA ROMEO 0-3 PRS 21
5 ALFA ROMEO 3-5 ABA NaN
6 ALFA ROMEO 3-5 ABR NaN
7 ALFA ROMEO 3-5 F 159
8 ALFA ROMEO 3-5 P 720
И конечный результат должен быть что-то вроде этого:
Make age Test Result Number of Cases Total Cases by Age
0 ALFA ROMEO 0-3 ABA 1 335
1 ALFA ROMEO 0-3 ABR NaN 335
2 ALFA ROMEO 0-3 F 45 335
3 ALFA ROMEO 0-3 P 268 335
4 ALFA ROMEO 0-3 PRS 21 335
5 ALFA ROMEO 3-5 ABA NaN 879
6 ALFA ROMEO 3-5 ABR NaN 879
7 ALFA ROMEO 3-5 F 159 879
8 ALFA ROMEO 3-5 P 720 879
И так далее для марок и возрастов
Любая помощь будет будем оценивать
Спасибо за ваш ответ, однако идея здесь просуммировать по маркам и возрасту транспортного средства, так сказать, в вашем примере GroupBy суммы придется найти сумму всех автомобилей с особенно возраст и сделать это и сопоставить это значение рядом со всеми строками с этой маркой и возрастом (независимо от результата теста) –
На самом деле, неважно, я пробовал группировать оба, и все получается хорошо. Благодаря! –