将文本清洗功能应用于多列
Apply Function for Text Cleaning to Multiple Columns
我的数据框中有三列文本,我想对其应用相同的函数。这是我在下面尝试过的。我应该将什么作为参数传递给我的函数?
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()
仅适用于:
df[['col1', 'col2', 'col3']] = df[['col1', 'col2', 'col3']].apply(clean_column)
我的数据框中有三列文本,我想对其应用相同的函数。这是我在下面尝试过的。我应该将什么作为参数传递给我的函数?
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()
仅适用于:
df[['col1', 'col2', 'col3']] = df[['col1', 'col2', 'col3']].apply(clean_column)