熊貓0.12.0大熊貓在領帶時如何決定秩序?
在下面的DataFrame中,爲什麼會混淆索引?看看4,指數從1,15,6,7開始。熊貓用來決定如何訂購的理由是什麼,我會懷疑這些指標是否保持相同的價值。
mydf=pd.DataFrame(np.random.randint(1, 6, 20),columns=["stars"])
mydf.sort(['stars'], ascending=False)
stars
19 5
14 5
1 4
15 4
6 4
7 4
4 3
12 3
18 3
8 2
2 2
9 2
10 2
11 2
13 2
16 2
5 1
3 1
17 1
0 1
謝謝,你知道這種行爲最近是否發生了變化(排序的實施方式)嗎? –
那麼,你可以看到自己的變化,但主要是他們是輕微的,在2013年幾乎沒有:https://github.com/pydata/pandas/blame/master/pandas/core/frame.py#L2591如果你切換您可以在github上查看版本,查看它們之間的代碼差異,或查看更改列表:http://pandas.pydata.org/pandas-docs/stable/whatsnew.html。我懷疑這種排序算法是否改變過。 – foobarbecue
因此,只要看看這個,熊貓數據框在0.11.0和0.12.0之間的表現方式有一些變化。當你調用sort時,它會調用sort_index。 sort_index基本上將工作傳遞給np.argsort()。在0.11.0中,它調用的argsort沒有我能看到的特定種類,但在0.12.0中它使用quicksort來調用它,使用kind = quicksort。作者對早期大熊貓的快速排序很謹慎。 –