Как извлечь несколько подстрок из столбца с помощью операции набора в пандах? - PullRequest
1 голос
/ 21 сентября 2019

Я создал Dataframe df с этими именами.Я попытался извлечь подстроки из столбца с помощью операции set.Но я не могу извлечь больше, чем слово (несколько строк) .Все, что я могу извлечь, это одно слово.Пожалуйста, проверьте мой Полученный вывод и Ожидаемый вывод и предоставьте эффективное решение для этого

import pandas as pd 
import numpy as np

df=pd.DataFrame({"Names":["This is Santhosh","This is Sneha Alphonse Shaji","This is Vikram Karthi"]})
df

Name_set={'Santhosh','Sneha Alphonse Shaji','Vikram Karthi'}
def sub(x):
    df_words= set(x.split(' '))
    extract_words=Name_set.intersection(df_words)
    return ' '.join(extract_words)

df['Extracted Names']= df.Names.apply(sub)
df 

Полученный вывод

Ожидаемый результат

1 Ответ

1 голос
/ 21 сентября 2019
import pandas as pd 
import numpy as np

df=pd.DataFrame({"Names":["This is Santhosh","This is Sneha Alphonse Shaji","This is Vikram Karthi"]})
df

Name_set=['Santhosh','Sneha Alphonse Shaji','Vikram Karthi']
def sub(x):
    ans =  [y for y in Name_set if y in x]
    return ' '.join(ans)


df['Extracted Names']= df.Names.apply(sub)
df 

               Names                Extracted Names
0   This is Santhosh                Santhosh
1   This is Sneha Alphonse Shaji    Sneha Alphonse Shaji
2   This is Vikram Karthi           Vikram Karthi
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...