python - 将文本清理功能应用于多列
问题描述
我的数据框中有三列文本,我想应用相同的函数。这是我在下面尝试过的。我应该将什么作为参数传递给我的函数?
def clean_columns():
df['column'] = df['column'].str.replace('[^\w\s]',' ')\
.str.replace('hello',' ')\
.str.replace('goodbye',' ')\
.str.lower()\
.str.split()
df[['Col1', 'Col2', 'Col3']].applymap(clean_columns)
我不确定如何以某种方式编写函数,即它分别在每一列中使用并将函数应用于它。有任何想法吗?
解决方案
将函数改写为
def clean_columns(col):
return col.str.replace('[^\w\s]',' ')\
.str.replace('hello',' ')\
.str.replace('goodbye',' ')\
.str.lower()\
.str.split()
并仅使用 apply:
df[['col1', 'col2', 'col3']] = df[['col1', 'col2', 'col3']].apply(clean_column)
推荐阅读
- python-3.x - “找不到配置或包目录,无法加载配置文件。”
- c++ - 读取 CAN 总线位掩码
- dns - 如何配置 dmarc 以允许从 Gmail 重定向到我的域?
- javascript - 父类构造函数不能在没有超时的情况下访问子字段
- java - 数字类型的除法
- spring - 在使用 Schema Multi Tenant 的 Spring Data JPA 中,尽管相同的实体如何与其他模式连接
- matlab - 如何将图像特征拟合到曲线
- javascript - 如何观察react组件函数中useEffect中全局Set变量的变化?
- python - Tensorflow - 深度到空间后与conv2d不兼容的形状
- logstash - 如何在 Logstash 中为 OpenSearch 添加事件的全部内容?