8

パンダ 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
4

2 に答える 2

7

Pandas は numpy のquicksortを使用しています。クイックソートには、アイテムの位置の交換が含まれます。要求された順序になると停止します (この場合、その列をチェックするように要求していないため、インデックスのチェックは必要ありません)。クイックソートは、バブル ソートなどの単純なソート アルゴリズムよりもはるかに効率的です。このアルゴリズムは、個々の数値を元の順序に近づけますが、そのためにはより多くの手順が必要になります。

于 2013-10-25T04:42:16.463 に答える