hel*_*kee 5 python python-3.x pandas
我有一个包含 3 列的数据框:
id,name,team
101,kevin, marketing
102,scott,admin\n
103,peter,finance\n
Run Code Online (Sandbox Code Playgroud)
我正在尝试应用正则表达式函数,以便删除不必要的空格。我有删除这些空格的代码,但我无法在整个 Dataframe 中循环它。
这是我迄今为止尝试过的:
df['team'] = re.sub(r'[\n\r]*','',df['team'])
Run Code Online (Sandbox Code Playgroud)
但这会引发错误 AttributeError: 'Series' object has no attribute 're'
谁能建议我如何在整个 Dataframedf['team']列中循环这个正则表达式
YOL*_*OLO 10
你快到了,有两种简单的方法可以做到这一点:
# option 1 - faster way
df['team'] = [re.sub(r'[\n\r]*','', str(x)) for x in df['team']]
# option 2
df['team'] = df['team'].apply(lambda x: re.sub(r'[\n\r]*','', str(x)))
Run Code Online (Sandbox Code Playgroud)
小智 7
只要它是一个数据框检查替换https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.replace.html
df['team'].replace( { r"[\n\r]+" : '' }, inplace= True, regex = True)
Run Code Online (Sandbox Code Playgroud)
关于正则表达式,'*' 表示 0 或更多,您应该需要 '+',即 1 或更多
| 归档时间: |
|
| 查看次数: |
21319 次 |
| 最近记录: |