从数据框的行中删除仅包含数字的字符串

Posted

技术标签:

【中文标题】从数据框的行中删除仅包含数字的字符串【英文标题】:Delete strings that contain only numbers from the rows of a dataframe 【发布时间】:2021-10-13 19:52:38 【问题描述】: 我的数据框包含许多行,包括: 仅限数字; 数字和空格; 字符串与数字混合(参见 Hell0 guy34 g00d j0b.);
+--------------------------+--------+
|   Content                | Score  |
+--------------------------+--------+
| Hello my name is Tim.    | 3      |
| 081332111333             | 4      |
| 08 97 5524               | 1      |
| 10 08 2021               | 1      |
| Great App                | 3      |
| Hell0 guys34 g00d j0b.   | 5      |
    . . . . . . . . . .      . . .
| 122345324 2331 111111    | 3      |
+--------------------------+--------+

有没有办法清理,即使用 withColumn 或任何其他快速方法删除我的数据框中出现的这 3 种可能的行? 我创建了一个 for 循环,它遍历 Dataframe 中的所有行,但是 超过 100 万行,这需要很长时间。 我的环境是 Google Colab 非常感谢!

【问题讨论】:

【参考方案1】:

使用 pyspark,我会简单地做这样的事情:

#assuming df is your dataframe
df.where(~df["content"].rlike("\d")).show()

\d 匹配任何十进制数字。相当于[0-9]

【讨论】:

以上是关于从数据框的行中删除仅包含数字的字符串的主要内容,如果未能解决你的问题,请参考以下文章

排除具有数字字符的行,仅在行的开头

如何在 R 中删除包含特定字符串的行?

根据“如果单元格中的字符串”条件删除熊猫列中的行

如何从包含特定列中特定字符串的熊猫数据框中删除行? [复制]

仅返回包含数据的行

如何遍历数据框的行并检查列行中的值是不是为 NaN