Skip to main content
 首页 » 编程设计

python之如何有效地删除所有数字作为 Pandas 的数据清理

2025年05月04日20zdz8207

这是我的数据集

id                                             descriptions 
0                       kartu debit 20 10 indomaretcipete r 
1                                         tarikan atm 20 10 
2                                         tarikan atm 19 10 
3                                                 biaya adm 
4                       trsf 18 10 wsid 23881 indah lestari 

这是我做的

def cleaning(text): 
    stops = {'10', '18','19', '20', '23881'} 
    text = [word for word in text if not word in stops] 
    text = " ".join(text) 
return(text) 
 
df['description_clean'] = df['description'].apply(cleaning) 

这是我得到的

  id                                              descriptions 
  0                             kartu debit indomaretcipete r 
  1                                               tarikan atm 
  2                                               tarikan atm 
  3                                                 biaya adm 
  4                                   trsf wsid indah lestari 

这不是有效的,我一直添加新数字来改进停用词,一次怎么做?

请您参考如下方法:

IIUC,您需要从数据框中删除数字,使用如下:

df_new=df.replace('\d+ ','',regex=True) 
print(df_new) 
 
   id                   descriptions 
0   0  kartu debit indomaretcipete r 
1   1                 tarikan atm 10 
2   2                 tarikan atm 10 
3   3                      biaya adm 
4   4        trsf wsid indah lestari 

对于一个系列:df['descriptions']=df['descriptions'].replace('\d+ ','',regex=True)

注意:根据您的示例,我在正则表达式中的 d+ 之后添加了一个空格,如果您愿意,也可以不用它。