Расчет реадмиссии - PullRequest
       4

Расчет реадмиссии

0 голосов
/ 10 февраля 2019

Я довольно плохо знаком с Python и пытаюсь подсчитать, был ли пациент повторно госпитализирован в течение 30 дней или нет.

Данные представлены в форме кадра данных Pandas со столбцами для идентификатора пациента, даты прибытия, даты отправления и статуса (выписан, принят, не ожидал).Вопрос похож на этот предыдущий вопрос с теми же требованиями, но мне нужен код на Python.

Рассчитать скорость реадмиссии

Мне нужен только один столбец реадмиссии (30-дневный статус реадмиссии).Любая помощь в переводе кода приветствуется.Заранее спасибо.

@ anky_91 Пожалуйста, поправьте меня, если я ошибаюсь в своем понимании.Несколько случайных примеров мои данные ex1 ex2 ex3

1 Ответ

0 голосов
/ 10 февраля 2019

Вы можете использовать ниже:

df.groupby('Patient').apply(lambda x : (x['Admission Date'].\
    shift(-1)-x['Discharge date']).dt.days.le(30).astype(int)).reset_index(drop=True)

Полный код :

Учитывая, что df выглядит так:

   Visit  Patient Admission Date Discharge date
0      1        1     2015-01-01     2015-01-02
1      2        2     2015-01-01     2015-01-01
2      3        3     2015-01-01     2015-01-02
3      4        1     2015-01-09     2015-01-09
4      5        2     2015-04-01     2015-04-05
5      6        1     2015-05-01     2015-05-01


df[['Admission Date','Discharge date']] = df[['Admission Date','Discharge date']].\
                                                apply(lambda x: pd.to_datetime(x))
df = df.sort_values(['Patient','Admission Date']) #Thanks @Jondiedoop

df['Readmit30']=df.groupby('Patient').apply(lambda x : (x['Admission Date'].\
shift(-1)-x['Discharge date']).dt.days.le(30).astype(int)).reset_index(0).drop('Patient',1)
print(df)


   Visit  Patient Admission Date Discharge date  Readmit30
0      1        1     2015-01-01     2015-01-02      1
3      4        1     2015-01-09     2015-01-09      0
5      6        1     2015-05-01     2015-05-01      0
1      2        2     2015-01-01     2015-01-01      0
4      5        2     2015-04-01     2015-04-05      0
2      3        3     2015-01-01     2015-01-02      0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...