Как я могу выполнить следующее преобразование для данного набора данных?

#python #transformation #string-matching

#python #преобразование #сопоставление строк

Вопрос:

Я новичок в Python, и у меня нет идеи, как я мог бы выполнить следующее преобразование и анализ.

У меня есть файл, который выглядит похоже на следующий пример:

 RecordID   Comments                                name                      value
0                 Franco Moro is cool                 Franco Moro             100
0                 Franco Moro is cool                 Franco Minione          67
1                 Jane and Jon Mare                  Jane Love                63
1                 Jane and Jon Mare                  Jane Franklin            65
1                 Jane and Jon Mare                  Jon McDonagh             71
1                 Jane and Jon Mare                  Jon Mare                 100
  

Теперь я хочу применить логику, согласно которой, если имя имеет значение 100 и в той же группе есть другая запись с более низким счетом, и либо имя, либо фамилия равны, то оно должно быть помечено как OUT . Однако, если существует много параметров с одним и тем же именем, но ни один из них не набирает 100 баллов, тогда он должен быть помечен знаком «?».

 RecordID   Comments                                name                      value      Flag
0                 Franco Moro is cool                 Franco Moro            100          OK
0                 Franco Moro is cool                 Franco Minione         67          OUT
1                 Jane and Jon Mare                  Jane Love               63            ?
1                 Jane and Jon Mare                  Jane Franklin           65            ?
1                 Jane and Jon Mare                  Jon McDonagh            71           OUT
1                 Jane and Jon Mare                  Jon Mare                100          OK
  

Кто-нибудь может помочь?

Спасибо, Майкл

Комментарии:

1. Обязательно ли используемая вами структура данных должна выглядеть так? Можете ли вы использовать другую структуру данных? Если вы можете, я предлагаю вам попробовать использовать файлы databases / json.

2. Входные данные выглядят следующим образом, и выходные данные также должны быть в формате таблицы. Однако, если у вас есть предложения по промежуточной обработке в формате JSON, я был бы открыт для этого

3. Что бы я сделал, так это создал класс, который анализирует таблицу и сохраняет ее в словаре, где key представляет RecordID , а его значение равно a list со всеми соответствующими комментариями. Тогда вы сможете выполнять любую логику, которую захотите (например, вы сможете сделать if "Jane" in parsed_table[0] ). Как только вы закончите выполнять свою логику, сериализуйте ее обратно в формат таблицы. Как это звучит?

4. Я обязательно попробую. Спасибо!