dataframe - 按类型从 pyspark 数据框中删除行
问题描述
我在 pyspark 中有包含产品项目的大文件,其中一些是确切的数字,其他包含字符串。我想从数据框中删除所有带有数字的行项目(计算效率高)。
|Product-1| Pj3f|
|Product-2| 12 |
|Product-3| Pj2F|
|Product-4| 20 |
如何按 pyspark 数据框列中的项目类型过滤行?pyspark 过滤器功能似乎没有它的功能。
ķ
解决方案
cast
int
然后仅过滤null
值列的列。
- 或者通过使用
.rlike
函数
Example:
df.show()
#+---------+-----+
#| product|descr|
#+---------+-----+
#|Product-1| pj3f|
#|product-2| 12|
#+---------+-----+
df.filter(col("descr").cast("int").isNull()).show()
df.filter(~col("descr").rlike("^([\s\d]+)$")).show()
#+---------+-----+
#| product|descr|
#+---------+-----+
#|Product-1| pj3f|
#+---------+-----+
推荐阅读
- haskell - 智能构造函数类型可以有多个有效的 Functor 实例吗?
- ios - Problems Updating View with Swift 5
- python - 如何加快python后端发出大量http请求
- delphi - 奇怪的德尔福行为
- javascript - (0 , _axios.default) 在使用拦截器模拟 axios 时不是函数
- typescript - Deno:找不到模块“https://deno.land/x/fiona”
- sql - ORA-06512 创建触发器时
- ios - iPhone 11 模拟器上的背景图片大小不合适
- javascript - 将多个计算字段中的信息提取到一个总和中以显示在单个字段中
- python - LSTM 层不接受 CNN 层输出的输入形状