удаление всех чисел из кадра данных панд - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть текст с токенами.Внутри этих чисел, таких как 1.2, 2.3 и т. Д. Я использовал следующие коды, чтобы удалить их, но они не работают

train_vs['doc_text'] = train_vs['doc_text'].apply(lambda x: [c for c in x if not c.isnumeric()])
train_vs['doc_text'] = train_vs['doc_text'].apply(lambda x: [c for c in x if not c.isdigit()])  

Любая помощь в том, как удалить эти цифры?Спасибо

1 Ответ

0 голосов
/ 02 февраля 2019

.apply - это метод как pd.Series, так и pd.DataFrame, и вы вызываете его для Series.В результате мы получаем, что каждая x для вашей лямбды является значением в вашем фрейме данных.Если у вас действительно есть список токенов в каждом значении вашего Series, тогда я не уверен, что это идеально.

В любом случае, isdigit и isnumeric не могут проверять наличие поплавков из коробки.Глупый обходной путь может выглядеть так:

df = pd.DataFrame(
    {
    'smple':[
    ["12.34", "atrium"],
    ["12.34", "atrium"],["election", "foible"],
    ['USA', "2131244213213"]
        ]
    }
)


df.smple.apply(
    lambda x: [c for c in x if not (c.isnumeric() or c.replace('.','',1).isdigit())]
)

Этот поток будет полезным для вас чтением, я думаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...