Aller au contenu

Exemple de statistiques

Exemple sur les RSA

import polars as pl
import pypmsi as pm

p = pm.noyau_pmsi(finess = '290000017', 
                  annee = 2022, 
                  mois = 12,
                  path = '/Users/guillaumepressiat/Documents/data/mco')
rsa = p.irsa(p)
# rsa
(rsa['actes']
    .filter(pl.col('cdccam').str.contains('EBLA'))
    .group_by(['cdccam', 'nbexec'])
    .agg(pl.col('act').len().alias('nb'))    
)
shape: (2, 3)
┌─────────┬────────┬─────┐
│ cdccam  ┆ nbexec ┆ nb  │
│ ---     ┆ ---    ┆ --- │
│ str     ┆ i32    ┆ u32 │
╞═════════╪════════╪═════╡
│ EBLA002 ┆ 1      ┆ 2   │
│ EBLA003 ┆ 1      ┆ 703 │
└─────────┴────────┴─────┘
(rsa['actes']
    .filter(pl.col('cdccam').str.contains('EBLA'))
    .join(rsa['rsa'], on = 'cle_rsa', how = 'inner')
    .pivot(index = 'cdccam', values = 'nbexec', on = 'rsatype', aggregate_function = 'sum')
    .fill_null(0)
)
shape: (2, 5)
┌─────────┬─────┬─────┬─────┬─────┐
│ cdccam  ┆ C   ┆ M   ┆ K   ┆ Z   │
│ ---     ┆ --- ┆ --- ┆ --- ┆ --- │
│ str     ┆ i32 ┆ i32 ┆ i32 ┆ i32 │
╞═════════╪═════╪═════╪═════╪═════╡
│ EBLA003 ┆ 52  ┆ 146 ┆ 501 ┆ 4   │
│ EBLA002 ┆ 1   ┆ 0   ┆ 1   ┆ 0   │
└─────────┴─────┴─────┴─────┴─────┘
(rsa['actes']
    .filter(pl.col('cdccam').str.contains('EBLA'))
    .join(rsa['rsa'], on = 'cle_rsa', how = 'inner')
    .pivot(index = ['rsacmd', 'rsatype'], values = 'nbexec', on = 'cdccam', 
           separator = '-', aggregate_function = 'sum')
    .fill_null(0)
)
shape: (39, 4)
┌────────┬─────────┬─────────┬─────────┐
│ rsacmd ┆ rsatype ┆ EBLA003 ┆ EBLA002 │
│ ---    ┆ ---     ┆ ---     ┆ ---     │
│ str    ┆ str     ┆ i32     ┆ i32     │
╞════════╪═════════╪═════════╪═════════╡
│ 15     ┆ C       ┆ 1       ┆ 0       │
│ 01     ┆ M       ┆ 6       ┆ 0       │
│ 17     ┆ M       ┆ 39      ┆ 0       │
│ 16     ┆ M       ┆ 5       ┆ 0       │
│ 17     ┆ K       ┆ 1       ┆ 0       │
│ …      ┆ …       ┆ …       ┆ …       │
│ 18     ┆ M       ┆ 1       ┆ 0       │
│ 19     ┆ M       ┆ 1       ┆ 0       │
│ 21     ┆ C       ┆ 1       ┆ 0       │
│ 11     ┆ C       ┆ 1       ┆ 1       │
│ 21     ┆ M       ┆ 1       ┆ 0       │
└────────┴─────────┴─────────┴─────────┘