Рассчитать период оглядки назад с помощью панд

Мне нужно оглянуться назад в каждой строке на разное время и подсчитать новых пациентов, так что я как будто оглядываюсь назад с даты и проверяю новых пациентов за последний месяц, затем проверяю новых пациентов за секунду в прошлом месяце и так далее.

Мой набор данных выглядит примерно так: На этом изображении я хочу начать с последнего RX_FILL_DT, а затем проверить с прошлого месяца до двух лет. Это мой набор данных

Это мой набор данных

PATIENT_Id > RX_FILL_DT > RX_QUANTITY > DAYS_SUPPLY

106208 > 3/25/2010 > 20 > 30

1240316 > 5/15/2010 > 15 > 30

1381727 > 8/26/2010 > 10 > 28

1381727 > 1/17/2010 > 10 > 28

1381808 > 6/6/2010 > 30 > 30

1381938 > 4/16/2010 > 45 > 90

1381938 > 8/3/2010 > 15 > 30

1381938 > 9/4/2010 > 15 > 30

1381938 > 9/14/2010 > 15 > 30

1381938 > 9/30/2010 > 15 > 27

1381961 > 6/8/2010 > 15 > 25

1381961 > 7/1/2010 > 15 > 23

1381961 > 7/8/2010 > 15 > 25

1381961 > 7/28/2010 > 15 > 23

1381961 > 8/19/2010 > 15 > 25

Max Date 9/30/2010

И мой результат должен выглядеть так:

             lookback 1 month >   lookback 2 month    >lookback 3 months

No of new patients > 0 > 0 > 0
Lookback calculation can been seen here

Новые пациенты = пост - общие (между предыдущим и постом)

Здесь пациент является новым, если у него нет записи за период ретроспективного анализа.

Например, для ретроспективного обзора за один месяц конкретный идентификатор пациента имеет только одну запись, тогда это означает, что пациент новый, и учитывается, когда ретроспективный анализ составляет один месяц.

Пожалуйста, помогите, я новичок в пандах.

Мой код такой:

onlyDip = pd.read_table("C:\Users\aa18957\Desktop\Transactions.txt", sep = "|" )

onlyDip['RX_FILL_DT'] = pd.to_datetime(onlyDip['RX_FILL_DT'])

Я пытаюсь использовать pandas.Series.rolling, но не знаю, как заставить его подсчитывать новых пациентов.

Я думаю, вам следует опубликовать фиктивный df, свой код и желаемый результат, пользователи должны иметь возможность воспроизвести вашу проблему. Спасибо. :) Прочитай это

anky 10.09.2018 08:29

@Aayushi, выложите пожалуйста исходники вашего скрипта panda!

nitinr708 10.09.2018 08:32

Я отредактировал его, чтобы он напоминал мой вывод, и у меня нет фиктивного кода, так как я не уверен, как начать решать эту проблему.

Aayushi Agarwal 10.09.2018 09:06

@AayushiAgarwal Пожалуйста, поясните, как мы идентифицируем нового пациента.

Hayat 10.09.2018 09:11

Я добавил изображение, показывающее результат и как идентифицировать новых пациентов, надеюсь, это поможет

Aayushi Agarwal 10.09.2018 11:45
1
5
105
0

Другие вопросы по теме