access两字段同时升序排序_pandas如何进行数据排序和排名?

   日期:2024-12-26    作者:g8fmy 移动:http://mip.riyuangf.com/mobile/quote/55981.html

1.1 sort_index方法

access两字段同时升序排序_pandas如何进行数据排序和排名?

#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


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号