Постановка задачи:Python - прочитать определенные строки в текстовом файле на основе состояния
У меня есть файл, как показано ниже.
name | date | count
John | 201406 | 1
John | 201410 | 2
Mary | 201409 | 180
Mary | 201410 | 154
Mary | 201411 | 157
Mary | 201412 | 153
Mary | 201501 | 223
Mary | 201502 | 166
Mary | 201503 | 163
Mary | 201504 | 169
Mary | 201505 | 157
Tara | 201505 | 2
Файл показывает данные для трех человек: Джон, Мэри и Тара в течение нескольких месяцев. Я хотел бы проанализировать эти данные и создать тег статуса для каждого человека, то есть активного, неактивного или нового.
Человек активен, если у них есть записи для 201505 и других предыдущих месяцев - как Мэри
Людей неактивны, если они не имеют записей для 201505 - как Джон
Лица является новым, если они ТОЛЬКО 1 запись для 201505 - как Тара.
Кроме того, если человек активен, я бы хотел получить медиану их последние 5 баллов. Например, для Мэри я хотел бы получить среднее значение ((157 + 169 + 163 + 166 + 223)/5).
Вопрос:
Я хотел бы понять, как я должен читать этот файл в Python 2.7 для того, чтобы выполнить мои требования. Я начал со следующего, но не был уверен, как получить предыдущие записи (например, предыдущие строки в файле) для определенного человека.
for line in data:
col = line.split('\t')
name = col[0]
date = col[1]
count = col[2]
Рассмотрите возможность использования ' Pandas', то вы можете использовать функцию '.groupby ('name')', чтобы смотреть на каждого человека отдельно. – vk1011