从熊猫数据框中删除所有数字

时间:2019-02-02 01:25:53

标签: python pandas nlp digits

我有一个标记化的文本。里面有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 :(得分:0)

.applypd.Seriespd.DataFrame的一种方法,您正在Series上调用它。结果是,lambda的每个x都是数据框中的一个值。如果您在Series的每个值中确实有一个标记化列表,那么我不确定那是理想的选择。

无论如何,isdigitisnumeric都无法检查是否有浮点数。一个愚蠢的解决方法可能看起来像:

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())]
)

我认为,这本thread对您的阅读很有帮助。