Python 从数据帧中删除空白

Python 从数据帧中删除空白,python,python-2.7,pandas,Python,Python 2.7,Pandas,我有以下数据帧 ' A ' 'B ' ' C' 0 ' 1 ' ' 2' '3' 1 '4' '5 6' '7' 2 '8' ' 9 ' '1 0' 我想删除所有空格(rstrip,lstrip)数据帧,以便输出如下: 'A' 'B' 'C' 0 '1' '2' '3' 1 '4' '5 6' '7' 2 '8' '9' '1 0' 我试过

我有以下数据帧

     ' A '    'B '    ' C'
0    ' 1 '    ' 2'    '3'
1     '4'     '5 6'   '7'
2     '8'     ' 9 '   '1 0'
我想删除所有空格(
rstrip
lstrip
)数据帧,以便输出如下:

     'A'    'B'    'C'
0    '1'    '2'    '3'
1    '4'    '5 6'  '7'
2    '8'    '9'    '1 0' 
我试过使用以下东西:

for col in data.columns:
    print (data[col].str.strip(to_strip=None))

for col in data.columns:
    print (data[col].str.ltrip(to_strip=None))   

data.columns = data.columns.str.replace(' ', '')

但是没有成功。

使用
pd.DataFrame.applymap
来处理数据。使用
pd.DataFrame.rename
处理列名

df.applymap(str.strip).rename(columns=str.strip)

   A    B    C
0  1    2    3
1  4  5 6    7
2  8    9  1 0
来解释那个小家伙

f = lambda x: "'" + x.strip("'").strip() + "'"
df.applymap(f).rename(columns=f)

   'A'    'B'    'C'
0  '1'    '2'    '3'
1  '4'  '5 6'    '7'
2  '8'    '9'  '1 0'

用于删除开头和结尾处的空间的条带的替代方法

import re
sentence = re.sub("^\s+|\s+$", "", sentence, flags=re.UNICODE)

@皮尤斯,瓦纳雷,我想你的单引号只是用来表示空格的。这些单引号实际上是字符串的一部分吗?另外,“不工作”也没有足够的信息来帮助你。是的,它实际上是数据的一部分。让我试着删除它。嗨@Dark!事实上,认为这会消除我们想要保留的中间空间。哦,中间也有一个空间。我没注意到。一如既往的冷静回答:)