python - 在数据框的整个列中应用正则表达式

标签 python python-3.x pandas

我有一个包含 3 列的数据框:

id,name,team 
101,kevin, marketing
102,scott,admin\n
103,peter,finance\n

我正在尝试应用正则表达式函数,以便删除不必要的空格。我已经得到了删除这些空格的代码,但是我无法在整个数据帧中循环它。

这是我迄今为止尝试过的:

df['team'] = re.sub(r'[\n\r]*','',df['team'])

但这会引发错误AttributeError:'Series'对象没有属性're'

有人可以建议我如何在整个 Dataframe df['team'] 列中循环这个正则表达式

最佳答案

你已经快完成了,有两种简单的方法可以做到这一点:

# 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)))

关于python - 在数据框的整个列中应用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53962844/

相关文章:

python - 在网站的谷歌缓存上使用 Scrapy

python - 在 pandas 中进行透视后重置索引而无需多个 header

python - 无法在 Access by Python 中删除数据

ios - 有人成功使用 pyqtdeploy 将 pyqt 部署到 iOS 吗?

python - 无法为 Dask 安装 tlz 模块 Python

python - 如何在 mac 上的 vscode 中自动加载 venv/bin/activate

pandas - Pandas 箱线图中的 mustache 究竟说明了什么?

python - 在 Pandas 中反转 'one-hot' 编码

python - 根据时差和 Pandas 数据框中列的条件创建一个新的数据框

python - 在继续之前检查文件列表是否存在?