У меня есть большой pandas фрейм данных, который выглядит следующим образом:
DF:
ID setID Weight
PG_002456788.1 1 100
UG_004678935.1 2 110
UG_012975895.1 2 150
PG_023788904.1 3 200
UR_073542247.1 3 200
UR_099876678.2 3 264
PR_066120875.1 4 400
PR_098759678.1 4 600
UR_096677888.2 4 750
PG_012667994.1 5 800
PG_077555239.1 5 800
Я хотел бы отфильтровать строки на основе критериев:
Критерии выбора представителя для каждого setID указаны ниже порядок приоритета
Preference 1 ID starting with PG_
Preference 2 ID starting with UG_
Preference 3 ID starting with PR_
Preference 4 ID starting with UR_
Наряду с этим следующим приоритетом является выбор наивысшего веса одновременно для каждого кластера setID.
'Желаемый результат:'
ID setID weight
PG_002456788.1 1 100
UG_012975895.1 2 150
PG_023788904.1 3 200
PR_098759678.1 4 600
PG_012667994.1 5 800
Также , Я хотел бы напечатать строки с тем же идентификатором "Initials", а также весом отдельно, если таковые имеются.
For example,
ID setID weight
PG_012667994.1 5 800
PG_077555239.1 5 800