剥离/修剪数据框的所有字符串

发布于 2021-01-29 19:26:22

清理python / pandas中的多类型数据框的值后,我要修剪字符串。我目前正在执行两条指令:

import pandas as pd

df = pd.DataFrame([['  a  ', 10], ['  c  ', 5]])

df.replace('^\s+', '', regex=True, inplace=True) #front
df.replace('\s+$', '', regex=True, inplace=True) #end

df.values

这很慢,我可以改善什么?

关注者
0
被浏览
53
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以使用DataFrame.select_dtypes选择string列,然后apply运行str.strip

    注意:值不能typesdictslists,因为它们dtypesobject

    df_obj = df.select_dtypes(['object'])
    print (df_obj)
    0    a  
    1    c
    
    df[df_obj.columns] = df_obj.apply(lambda x: x.str.strip())
    print (df)
    
       0   1
    0  a  10
    1  c   5
    

    但是,如果只有几列,请使用str.strip

    df[0] = df[0].str.strip()
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看