您現在的位置是:首頁 > 足球

pandas如何進行資料排序和排名?

  • 由 素食先生lpt 發表于 足球
  • 2021-05-29
簡介sort_index()Out[18]:a 1b 2c 3d 0dtype: int32#DataFrame排序可以根據任意一個軸上的索引進行排序:In [19]: frame=DataFrame(np

名次排序怎麼操作

pandas如何進行資料排序和排名?

一起學習,一起成長

排序和排名是資料處理和分析中常用的方法,那麼如何使用pandas進行資料的排序和排名呢?小編接下來進行介紹,具體參見下文:

1。排序和排名

根據條件對資料集排序(sorting)也是一種重要的內建運算。要對行或列索引進行排序

1。1 sort_index方法

#Series排序

該方法可對行或列索引進行排序,返回一個已排序的新物件

In [17]: obj=Series(range(4),index=[‘d’,‘a’,‘b’,‘c’])

In [18]: obj。sort_index()

Out[18]:

a 1

b 2

c 3

d 0

dtype: int32

#DataFrame排序

可以根據任意一個軸上的索引進行排序:

In [19]: frame=DataFrame(np。arange(8)。reshape(2,4),index=[‘three’,‘one’],columns=[‘d’,‘a’,‘b’,‘c’])

In [20]: frame。sort_index() #預設axis=0

Out[20]:

d a b c

one 4 5 6 7

three 0 1 2 3

In [21]: frame。sort_index(axis=1)

Out[21]:

a b c d

three 1 2 3 0

one 5 6 7 4

1。2 升降序排序

預設是按升序(ascending=True)排序。

降序(ascending=False)排序如下:

In [22]: frame。sort_index(axis=1,ascending=False)

Out[22]:

d c b a

three 0 3 2 1

one 4 7 6 5

1。3 排序時的 Series缺失值

在排序時,任何缺失值預設都會被放到Series末尾:

In [24]: obj=Series([4,np。nan,7,np。nan,-3,2])

In [25]: obj。order()

__main__:1: FutureWarning: order is deprecated, use sort_values(。。。)

Out[25]:

4 -3。0

5 2。0

0 4。0

2 7。0

1 NaN

3 NaN

dtype: float64

1。4 DataFrame中的by排序

在DataFrame上,可能希望根據一個或多個列中的值進行排序。將一個或多個列的名字傳遞給by選項即可達到該目的:

In [26]: frame=DataFrame({‘b’:[4,7,-3,2],‘a’:[0,1,0,1]})

In [27]: frame

Out[27]:

a b

0 0 4

1 1 7

2 0 -3

3 1 2

In [28]: frame。sort_index(by=‘b’)

__main__:1: FutureWarning: by argument to sort_index is deprecated, pls use 。sort_values(by=。。。)

Out[28]:

a b

2 0 -3

3 1 2

0 0 4

1 1 7

In [30]: frame。sort_index(by=[‘a’,‘b’])

__main__:1: FutureWarning: by argument to sort_index is deprecated, pls use 。sort_values(by=。。。)

Out[30]:

a b

2 0 -3

0 0 4

3 1 2

1 1 7

Top