2014-10-22 55 views
4

我有一個由Pandas製作的數據框,我希望刪除每個列名稱末尾的空白空間。我試過類似的東西:使用正則表達式爲熊貓重命名列使用正則表達式

raw_data.columns.values = re.sub(' $','',raw_data.columns.values) 

但是,這不工作,我在這裏做錯了什麼?

+0

如果空的空間是列名的*結束*,應該不會是' re.sub('$','')'? – Marius 2014-10-22 04:06:45

+0

對不起,錯誤的正則表達式那裏,我試圖糾正的一個,但蟒蛇響應'類型錯誤' – lokheart 2014-10-22 04:07:47

回答

8

我應該用re包:

raw_data = raw_data.rename(columns=lambda x: re.sub(' $','',x)) 
+0

這將只會刪除1 space.Use this,如果你想刪除all.'raw_data.columns.values = re.sub(R' [] * $','',raw_data.columns.values)' – vks 2014-10-22 04:46:02

0

我會建議使用

df.columns = df.columns.str.stripe()