小编典典

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

python

清理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

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


阅读 168

收藏
2020-12-20

共1个答案

小编典典

您可以使用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()
2020-12-20