如何使用PySpark移除DataFrame列中的方括号
问题:移除DataFrame文本列中的方括号并替换空内容为null
我有一个名为df的DataFrame,其中包含text列,输入数据如下:
[gh].[ijdnd] [hyf] dfvc.gfth [] [ ]
期望输出:
gh.ijnd hyf dfvc.gfth null null null
解决方法
用Pandas的字符串处理方法两步就能实现需求:
- 先移除所有方括号:
df['text'] = df['text'].str.replace(r'[\[\]]', '', regex=True)
- 再把移除后为空或仅含空格的内容替换成
null:
df['text'] = df['text'].str.strip().replace('', 'null')
完整示例
把步骤整合后的完整代码如下:
import pandas as pd # 构造示例DataFrame data = {'text': ['[gh].[ijdnd]', '[hyf]', 'dfvc.gfth', '[]', '[', ' ]']} df = pd.DataFrame(data) # 执行文本处理 df['text'] = df['text'].str.replace(r'[\[\]]', '', regex=True).str.strip().replace('', 'null') # 查看结果 print(df['text'].tolist())
运行后会输出符合期望的结果:['gh.ijnd', 'hyf', 'dfvc.gfth', 'null', 'null', 'null']
内容的提问来源于stack exchange,提问作者ADF-Learner
相关产品推荐
相关产品推荐

