首页 > 解决方案 > 对熊猫系列中的值进行排序

问题描述

我有一个看起来像这样的电影数据框...

title               decade
movie name 1        2000
movie name 2        1990
movie name 3        1990
movie name 4        2000
movie name 5        2010
movie name 6        1980
movie name 7        1980

我想以这种方式绘制每十年的电影数量

freq = movies['decade'].value_counts()

#freq returns me following
2000        56
1980        41
1990        37
1970        21
2010        9

# as you can see the value_counts() method returns a series sorted by the frequencies
freq = movies['decade'].value_counts(sort=False)
# now the frequencies are not sorted, because I want to distribution to be in sequence of decade year
# and not its frequency so I do something like this...

movies = movies.sort_values(by='decade', ascending=True)
freq = movies['decade'].value_counts(sort=False)

现在系列频率应该被排序到几十年,但它没有虽然电影被排序,但有人能告诉我我做错了什么吗?谢谢。

我正在寻找的预期输出是这样的......

1970        21
1980        41
1990        37
2000        56
2010        9

标签: pythonpandasdataframe

解决方案


movies['decade'].value_counts()

返回一个以十年为索引的系列,并按计数降序排序。要按十年排序,只需附加

movies['decade'].value_counts().sort_index()

或者

movies['decade'].value_counts().sort_index(ascending=False)

应该做的伎俩。


推荐阅读