您現在的位置是:首頁 > 足球
pandas如何進行資料排序和排名?
- 由 素食先生lpt 發表于 足球
- 2021-05-29
名次排序怎麼操作
一起學習,一起成長
排序和排名是資料處理和分析中常用的方法,那麼如何使用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