pyspark - 删除前导零pyspark?
解决方案
另一种方法是在regexp-replace
这里使用:
from pyspark.sql import functions as F
df.show()
df = df.withColumn('subcategory', F.regexp_replace('subcategory', r'0', ''))
df = df.withColumn('subcategory_label', F.regexp_replace('subcategory_label', r'0', ''))
df.show()
输入数据框:
+-----------+-----------------+--------+
|subcategory|subcategory_label|category|
+-----------+-----------------+--------+
| 00EEE| 00EEE FFF| Drink|
| 0000EEE| 00EEE FFF| Fruit|
| 0EEE| 000EEE FFF| Meat|
+-----------+-----------------+--------+
输出数据框:
+-----------+-----------------+--------+
|subcategory|subcategory_label|category|
+-----------+-----------------+--------+
| EEE| EEE FFF| Drink|
| EEE| EEE FFF| Fruit|
| EEE| EEE FFF| Meat|
+-----------+-----------------+--------+
如果它需要0
s 在字符串的开头,您可以使用这些来确保没有中间0
被删除。:
df = df.withColumn('subcategory', F.regexp_replace('subcategory', r'^[0]*', ''))
df = df.withColumn('subcategory_label', F.regexp_replace('subcategory_label', r'^[0]*', ''))
推荐阅读
- macos - 如何在 Mac High Sierra 上运行 VPN 自动化程序
- html - 在 xslt 之后保留 HTML 标签
- ubuntu - Unable to install Plotly in Rstudio server
- r - 有序数据的列联表
- javascript - 在 node.js 中刮取所选项目
- ocaml - 为什么我可以添加任意数量的 ; 在 OCaml 顶级行的最后?
- ios - iOS - Tesseract - 无法读取多维数据集语言模型 Cube ERROR (CubeRecoContext::Create): 无法初始化 CubeRecoContext 对象
- node.js - 在 React 中设置 PayPal 客户端单笔支付
- c# - Unity - 名称空间未检测到
- javascript - 如何将列拆分为行