熊猫从数据框中删除所有单个字符

时间:2019-10-11 09:59:26

标签: pandas

如何使用熊猫替换(或任何其他函数)删除数据框中的所有单个字符,以便:

abc   87-2    EF.2  
ABC      a       -
EF8      8  
.        B

成为:

 abc  87-2    EF.2  
 ABC            
 EF8         

1 个答案:

答案 0 :(得分:2)

首先,如有必要,仅选择字符串列(显然object是字符串),获取长度并通过mask设置空值:

cols = df.select_dtypes(object).columns

df[cols] = df[cols].mask(df.applymap(len) == 1, '')
print (df)
   abc 87-2 EF.2
0  ABC          
1  EF8          
2         

如果需要在子字符串中替换值:

f = lambda x: ' '.join(y for y in x.split() if len(y) != 1)
df[cols] = df[cols].applymap(f)