dataframe - Pyspark 基于常量值过滤行
问题描述
+------------+---------+----------+-----------+
| part_no|prod_week| daily_qty|lineoffdate|
+------------+---------+----------+-----------+
|019990616100| 202004| 000000000| 2020-01-23|
|019990616100| 202004| 000000000| 2020-01-24|
|019990616100| 202004| 000000000| 2020-01-25|
|019990616100| 202005| 000000000| 2020-01-26|
|019990616100| 202005| 000000000| 2020-01-27|
|019990616100| 202005| 000000001| 2020-01-28|
|019990616100| 202005| 000000000| 2020-01-29|
|019990616100| 202005| 000000000| 2020-01-30|
|019990616100| 202005| 000000000| 2020-01-31|
|019990616100| 202005| 000000000| 2020-02-01|
|019990616100| 202006| 000000000| 2020-02-02|
|019990616100| 202006| 000000000| 2020-02-03|
|019990616100| 202006| 000000000| 2020-02-04|
|019990616100| 202006| 000000000| 2020-02-05|
|019990616100| 202006| 000000000| 2020-02-06|
|019990616100| 202006| 000000000| 2020-02-07|
|019990616100| 202006| 000000000| 2020-02-08|
|019990616100| 202007| 000000000| 2020-02-09|
|019990616100| 202007| 000000000| 2020-02-10|
|019990616100| 202007| 000000000| 2020-02-11|
+------------+---------+----------+-----------+
我想删除或过滤行以排除值为“000000000”的daily_qty。daily_qty 是字符串类型。尝试了以下组合,但过滤似乎根本不起作用。有人能帮我解决我哪里出错了吗
ds1 = ds.filter(F.col('daily_qty') != '000000000')
#ds1 = ds.filter(F.col('daily_qty') != F.lit('000000000'))
#ds1=ds.filter(~F.col('daily_qty').isin(['000000000']))
谢谢, 阿鲁娜
解决方案
推荐阅读
- java - 当我想在 Google BigQuery 中创建 StandardSQLTypeName.ARRAY 类型的字段时接收 NPE
- api - 如何更改 API 平台中的基本 URL
- python - 实例字典的行为类似于 Python 中的类字典
- css - 自托管下载字体
- xamarin.forms - xamarin 表单中是否有一种方法,例如向导多步进度
- flutter - Flutter InAppWebView 在发布模式下显示空白页
- ios - Charles Proxy iOS 坚持安装配置文件
- java - CameraX:动画缩放
- javascript - TypeError:即使定义了方法,“x”也不是函数
- python - Tkinter:对小部件使用 return