Напишите условие if для фильтрации записей по дате, чтобы получить фильтры данных. - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть данные о входе пользователей в мою систему за последние несколько лет.Я хочу выполнить анализ по удалению пользователей из моей системы за последние три месяца.

У меня есть три условия

A (All) = All Accepted(Activated) users as of August 31st 
N (new) = Accepted users in last three months (Jun, July, Aug)
R  (returning) = Accepted before June, but logged in last three months i.e.  (Jun, July, Aug)
D = Dropping 

Отбрасывание = A - N - R

Данные выглядят так - https://pastebin.com/Ybu9KWqk

Я хочу отфильтровать данные по категориям N и R, сохранить в CSV и получить значение D.

Я написал эту логику для этого,

df = pd.read_csv("work_hrs.csv")

from datetime import datetime
import pdb
new_col = []
threshold_act_date = datetime.strptime("2019-6-01", '%Y-%m-%d').date()
threshold_log_date = datetime.strptime("2019-8-21", '%Y-%m-%d').date()

for row in df.iloc[:,[2,3]].values:
    try:
        last_log = datetime.strptime(row[0][:10], '%Y-%m-%d').date()
        active_in = datetime.strptime(row[1][:10], '%Y-%m-%d').date()

        if last_log >= threshold_log_date:
            if active_in >= threshold_act_date:
                new_col.append("N")
            else:
                new_col.append("R")
        else:
            new_col.append("D")
    except:
        new_col.append("not_active")

total_came = len(df) - Counter(df["status"])["unregistered"] - Counter(df["status"])["notregister"] - Counter(df["status"])["nan"]

print("Total come to our platform so far :", total_came)

dropout = total_came - Counter(df["new_stat"])["N"] - Counter(df["new_stat"])["R"]

print("The total no. of dropouts are :",dropout)

Правильно ли приведенный выше код фильтрует даты по категориям N и R?

Ожидаемый результат:

1. D which will give count of dropouts from the system in last three months
2. CSV file which contains All new (N) users in last 3 months 
3. CSV file which contains all returning (R) users in last three months
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...