我有以下数据框
' 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(' ', '')
但没有成功。
答案 0 :(得分:6)
使用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'
答案 1 :(得分:1)
strip的替代选择,用于删除开头和结尾的空格。
import re
sentence = re.sub("^\s+|\s+$", "", sentence, flags=re.UNICODE)