在groupby之后,预先决定组的输出顺序。在以下情况下,顺序是A、AAA、B、BBB。你知道吗
有办法定制这个订单吗?我想订AAA,A,BBB,B。我可能还想订其他的。你知道吗
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
data=pd.DataFrame({'Rating':['A','AAA','B','BBB','A','AAA','B','BBB'],
'Score':[2,4,5,6,2,4,5,6,]})
t=data.groupby('Rating', sort=False)['Score'].mean()
t
Rating
A 2
AAA 4
B 5
BBB 6
Name: Score, dtype: int64
不能更改groupby/mean返回的顺序(使用
sort
参数保存可能的内容)。但是,使用reindex
可以很容易地在事后更改顺序:或者,您可以通过将
Ratings
更改为Categorical
来控制groupby/mean
返回的顺序:收益率
sort=False
只是意味着它不能保证被排序(它可以被排序)。我的记忆是,这是在“看到的顺序”,但同样是没有保证。你知道吗要对groupby的输出进行排序,只需在后面进行排序(按索引):
相关问题 更多 >
编程相关推荐