2014-02-07 3 views
0

У меня есть список предложений, как:
[ «нет, второй главный четвёртую крест, UAS расположение, рядом Ганеша храм/обмена BSNL, sanjaynagar, Бангалора»,
"grihalakshmi квартиры плоская, юго-восточная дорога басавангуди бангалор -560004. ОПП adiyar ананда бхаван вблизи южного конца с «
„Шринивас пг acomudation, ОПП в космос торговом центре поля Брука“,
„королевские пальмы второй крест, фунт Шастри Нагар Бангалора“,
» ВМР хо имя grija \ Krishnappa сад bagamane .technologi парк резюме Раманагара ']Удалить выбранные знаки препинания из списка предложений

мне нужно, чтобы удалить все знаки пунктуации за исключением, и/.. я использовал string.punctuation, чтобы удалить все

def punc(x): 
    predicate = lambda y:y not in string.punctuation 
    out = filter(predicate,x) 
    return out 
data = data.apply(punc) 

это удалить все .. хотите удалить выбранные. .plz help

Я использовал .apply() для него, когда он был частью DataFrame. теперь я преобразовал его в список. поэтому, пожалуйста, рекомендуйте технику, чтобы справиться с исключительными пунктуациями в объекте списка.

+0

Следует ли это удалить или заменить? –

+0

я хочу удалить –

ответ

3

Попробуйте

def punc(x): 
    predicate = lambda y:y not in ''.join(c for c in string.punctuation if c not in ',/') 
    out = filter(predicate,x) 
    return out 

Кроме того, применяются() является устаревшим.

Удалить, когда предлоги находятся в строке.

def punc(x): 
    predicate = lambda y:y not in ''.join(c for c in string.punctuation if c not in './') 
    prepositions = ['a', 'in'] #define by yourself 
    if any(p in x.split() for p in prepositions): 
     return filter(predicate,x) 
    return x 
+0

спасибо .. что, если я добавлю некоторые условия .. как удалять пунктуации только тогда, когда присутствуют предлоги? –

+0

приведенный выше код dint work: ( –

+0

@ Sword Edited. - – afkfurion

Смежные вопросы