Pandas箱线图顺序未正确排序

0 投票
2 回答
867 浏览
提问于 2025-04-18 00:07

我注意到,当我做了以下操作:

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()

撰写回答