Pandas箱线图顺序未正确排序
我注意到,当我做了以下操作:
states_years.boxplot(column=['Col of interest'], by=['Characters', 'Numbers'], sym='rx')
结果是箱线图按照“字符”字母顺序排列,但“数字”却不一定是按顺序的。所以从左到右的顺序可能是:
阿拉巴马州,2012年;阿拉巴马州,2013年;纽约,2013年;纽约,2012年
我需要在做箱线图之前先对数据框进行排序吗,还是可以在调用箱线图的时候做些什么?
更新
我发现了“问题”。问题出在尾部的空格上,这导致排序出错。
所以我想问的是:
- 如何用pandas的方法清理尾部的空格?
我会把奖励给最优雅的解决方案。提前感谢你的帮助!
2 个回答
1
你可以用 strip
方法对列中的每个元素进行处理,方法如下:
states_years[column] = states_years[column].apply(lambda s: s.strip())
3
这里有一种替代的方法,虽然其实和@chthonicdaemon的解决方案没有太大区别,但写起来稍微简短一些:
states_years[column] = states_years[column].str.strip()