【发布时间】:2015-11-12 09:47:57
【问题描述】:
默认Series.values_counts按计数降序排列:
In [192]: pd.Series([3,0,2,0,0,1,0,0,0,1,1,0,1,0,2,2,2,2,2,0,0,2]).value_counts()
Out[192]:
0 10
2 7
1 4
3 1
dtype: int64
如果我通过sort=False,它似乎会尝试按值键排序:
In [193]: pd.Series([3,0,2,0,0,1,0,0,0,1,1,0,1,0,2,2,2,2,2,0,0,2]).value_counts(sort=False)
Out[193]:
0 10
1 4
2 7
3 1
dtype: int64
但是当我增加系列的长度时,排序会恢复到原来的顺序:
In [194]: pd.Series([3,0,2,0,0,1,0,0,0,1,1,0,1,0,2,2,2,2,2,0,0,2]*100).value_counts(sort=False)
Out[194]:
0 1000
2 700
1 400
3 100
dtype: int64
有什么想法吗?
【问题讨论】:
-
value_counts(sort=False)没有声明结果的排序顺序。第一个示例中的按键排序是一个实现细节,您不应依赖其排序行为。
标签: pandas