Как получить список подстрок из столбца dataframe строк на основе списка подстрок оптимальным способом? - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть pandas столбец строк данных и список подстрок (фраз). То, что я пытаюсь сделать, это перебрать все строки и для каждой строки построить новый столбец, который будет содержать только подстроки (фразы), которые существуют в этой конкретной строке (на основе существующего списка подстрок ). И я не могу найти оптимальный способ сделать это, чтобы избежать ожидания целую вечность.

Пример кода для функции, которую я создал, которая выполняется на одной строке:

def myfunc(text,skills):
    res=[]
    for skill in skills:
        skill2=" "+str(skill)+" "
        if skill2 in text:
            res.append(skill)
    return res

k=myfunc("This is a test text containing .niet network as well as 2008 r2 to find out  f the  f# skills",['.niet','2008 r2','net','f','f#'])
print(k)

вывод здесь должен быть:

['.niet', '2008 r2', 'f', 'f#']

Я создал вышеуказанную функцию, чтобы я мог вызывать ее внутри функции pandas .dataframe.apply (), чтобы выполнить итерацию для всех строковых записей. столбца dataframe "description" ...

пример кода:

dev['sample'] = dev['description'].apply(lambda x: myfunc(x,myskillslist=['.niet','2008 r2','net','f','f#']))

x представляет каждый документ / строку, в то время как myskillslist - это список подстрок (который является предопределенным списком, который не ' т))

есть идеи? Есть ли лучший способ сделать это? Я много искал и не смог создать более быстрое решение.

...