Сортировка / подсчет строк в кадре данных Python Pandas - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь разработать скрипт проверки качества, который будет go через набор данных (в pandas фрейме данных) и подсчитывать общее количество образцов различных типов. Вот пример из базы данных:

enter image description here

Образцы, о которых идет речь, все с

XXX123

Мой текущий скрипт выбирает и выбирает все образцы Q C, такие как бланк или IRM, но у меня возникают проблемы с подсчетом фактического XXX123, потому что некоторые из них получают два типа дубликатов, как внутренние проверки качества.

  1. Один тип с "ORIG" и "PREP"
  2. Второй тип с ".1" и ".2"

Дополнительная проблема редко ли один образец получит оба, как вы можете видеть с XXX123 85-90

Наконец, вопрос: как я могу объяснить это? Как сказать python this:

  • всякий раз, когда есть одна строка, содержащая ".1", и нижеследующая, содержащая ".2" - считать эти две записи как 1
  • всякий раз, когда есть одна строка, содержащая «ORIG», и нижняя строка, содержащая «PREPDUP» - считайте эти две записи как 1
  • всякий раз, когда есть одна строка, содержащая «ORIG .1», и нижняя строка, содержащая «ORIG .2» и третий ниже, содержащий «PREPDUP» - считать эти три записи как 1.

Пожалуйста, дайте мне знать, если я могу уточнить это дальше. Спасибо! Это код, который я запускаю в настоящее время, однако все, что находится ниже «# Replicates», не работает так, как я хочу, так как я не могу понять это:

1 Ответ

1 голос
/ 14 февраля 2020
df['Label'].str.extract('(XXX123 \d+-\d+)').nunique()

Вы можете просто использовать регулярные выражения, чтобы извлечь то, что вы ищете, а затем использовать nunique, чтобы узнать, сколько существует уникальных значений.

...