Выбор частичного имени строки перед некоторыми символами в pandas - PullRequest
0 голосов
/ 05 августа 2020

У меня довольно много имен столбцов в формате ниже:

A-1_45_GG___________________LL
B_2_45_GLKK___________________KK

Я ищу общий c подход для выбора имени строки перед длинными символами подчеркивания. Итак, желаемый результат - это столбцы, переименованные в [A-1_45_GG, B_2_45_GL]. Как мне выполнить sh это в Python?

Ответы [ 2 ]

1 голос
/ 05 августа 2020

Еще один подход - разделить строку с помощью регулярного выражения.

import re

lst = ["A-1_45_GG___________________LL", "B_2_45_GLKK___________________KK"]

print([re.split("[_]{2,}", i)[0] for i in lst])

Вывод:

['A-1_45_GG', 'B_2_45_GLKK']
1 голос
/ 05 августа 2020

Ну, если у вас никогда не было двойного подчеркивания в вашем имени, вы можете просто разделить его на «__», а затем взять первый индекс

string = "A-1_45_GG___________________LL"
string.split("__")[0]

Вывод:

'A-1_45_GG'

Если бы вы использовали список:

yourlist = ["A-1_45_GG___________________LL", "B_2_45_GLKK___________________KK"]

print(list(map(lambda x: x.split("__")[0], yourlist)))

Вывод:

['A-1_45_GG', 'B_2_45_GLKK']
...