0

我希望从 df 中删除字符串中只有数字的所有行

这是数据框的摘录

                         qid    question_stemmed                                   target   question_length total_words
149952  1d53c9c017999b4f77e2    8430397824532987451912384179815150754023741609...   0              241              3

有没有办法我可以做到这一点?

我尝试了以下方法,但它将删除字符串中包含数字的所有行(以及任何其他数据类型)。但是,我正在寻找是否可以删除所有“仅限数字”行。

df['question_stemmed'] = df[df['question_stemmed'].str.contains(r'[^a-z]')]

在这里感谢任何帮助

4

1 回答 1

2

如果我们只关心 ASCII 数字 0-9:

df = df[~df['question_stemmed'].str.isdigit()]

如果我们需要担心其他语言的 unicode 或数字:

df = df[~df['question_stemmed'].str.isnumeric()]

Pandas 方法在内部调用相应的 python 方法。请参阅python 中的 str.isdigit、isnumeric 和 isdecimal 有什么区别?有关这些功能如何工作的说明。

于 2020-07-15T02:08:39.603 回答