Как создать запрос, который показывает дела для всех статусов?
У меня возникла проблема в моем проекте Django. У меня есть несколько случаев, таких как;
Case Type | Status | Sub Case | Stage |
---|---|---|---|
Volleyball | 2020 | finished | win |
Basketball | 2022 | pending | none |
Basketball | 2021 | finished | loss |
Volleyball | 2020 | finished | win |
Я хочу создать запрос например, есть ли сколько случаев волейбол - 2020 - закончен - победа? или сколько случаев баскетбол - 2021 - закончен - поражение. Есть много случаев с различными атрибутами, я должен подсчитать их с помощью динамического запроса. Возможно, pandas может помочь мне в этом, но я не знаю. Любая идея может мне помочь.
каков ваш ожидаемый результат?
IIUC, это то, что вы ищете?
РЕЗУЛЬТАТ
df.groupby(['Case Type','Status','Sub Case']).value_counts().reset_index()
ИЛИ
df.groupby(['Case Type','Status','Sub Case']).value_counts(df['Stage']).reset_index()
ИЛИ
df.assign(cnt=1).groupby(['Case Type','Status','Sub Case','Stage'])['cnt'].sum().reset_index()
Case Type Status Sub Case Stage 0
0 Basketball 2021 finished loss 1
1 Basketball 2022 pending none 1
2 Volleyball 2020 finished win 2
Data
data= {'Case Type': ['Volleyball ', 'Basketball ', 'Basketball ', 'Volleyball '],
'Status': [ 2020, 2022, 2021, 2020],
'Sub Case': [ 'finished ', 'pending ', 'finished ', 'finished '],
'Stage': [ 'win', 'none', 'loss', 'win']}
df=pd.DataFrame(data)
df
Case Type Status Sub Case Stage
0 Volleyball 2020 finished win
1 Basketball 2022 pending none
2 Basketball 2021 finished loss
3 Volleyball 2020 finished win