一文搞懂Pandas数据排序

来源:AI入门学习

作者:小伍哥

数据排序,是使用非常高频的功能,Pandas排序支持做的非常好,主要涉及两个函数,两种数据类型,组合起来四种情况。

Series排序

DataFrame排序

一、Series的排序

1、sort_index 索引排序

定义一个Series用于实验

s = Series([4,1,2,3],index=['d','a','c','b'])
d    4
a    1
c    2
b    3

对Series的索引进行升序排序,默认即可,无需使用其他参数

s.sort_index()
a    1
b    3
c    2
d    4

对Series的索引进行降序排序,使用ascending=False参数

s.sort_index(ascending=False)
d    4
c    2
b    3
a    1

2、sort_values 值引排序

用 法:

Series.sort_values(ascending=True, inplace=Flase)

参数:

对Series的值进行升序排序,默认即可,无需使用其他参数

s.sort_values()
a    1
c    2
b    3
d    4

对Series的进行降序排序,使用ascending=False参数

s.sort_values(ascending=False)
d    4
b    3
c    2
a    1

二、 DataFrame的排序

1、sort_index 索引排序

DataFrame.sort_index(by=None,
axis=0, level=None, 
ascending=True, 
inplace=False, 
kind='quicksort', 
na_position='last', 
sort_remaining=True)

构建数据集

import numpy  as np
import pandas as pd
data = pd.DataFrame( np.arange(9).reshape(3,3),
                 index   = ["0","2","1"],
                 columns = ["col_a","col_c","col_b"])
data
   col_a  col_c  col_b
0      0      1      2
2      3      4      5
1      6      7      8

按行的索引升序进行排序,默认按行,升序

data.sort_index()
   col_a  col_c  col_b
0      0      1      2
1      6      7      8
2      3      4      5

按行的索引降序进行排序

data.sort_index(ascending=False)
   col_a  col_c  col_b
2      3      4      5
1      6      7      8
0      0      1      2

按列升序的索引进行排序

data.sort_index(axis=1)
Out[10]: 
   col_a  col_c  col_b
0      0      1      2
1      6      7      8
2      3      4      5

2、sort_values 值引排序

用 法:

DataFrame.sort_values(
by, 
axis=0, 
ascending=True, 
inplace=False,
kind='quicksort', 
na_position='last')

参 数:

构建实验用数据

data =pd.DataFrame([[2,3,12],[6,2,8],[9,5,7]], 
                 index=["0", "2", "1"], 
                 columns=["col_a", "col_c", "col_b"])
   col_a  col_c  col_b
0      2      3     12
2      6      2      8
1      9      5      7

按指定列的值大小顺序进行排序

data.sort_values(by='col_c')
   col_a  col_c  col_b
2      6      2      8
0      2      3     12
1      9      5      7

按多列进行排序

data.sort_values(by=['col_b','col_a'])
   col_a  col_c  col_b
1      9      5      7
2      6      2      8
0      2      3     12

先按col_b降序,再按col_a列升序排序

data.sort_values(by=['col_b','col_a'],axis=0,ascending=[False,True]) 
   col_a  col_c  col_b
0      2      3     12
2      6      2      8
1      9      5      7

升序排列

data.sort_values(by='2',axis=1) 
    col_c  col_a  col_b
0      3      2     12
2      2      6      8
1      5      9      7

2行 升序,0行降排列

data.sort_values(by=['2','0'],axis=1) 
   col_c  col_a  col_b
0      3      2     12
2      2      6      8
1      5      9      7
展开阅读全文

页面更新:2024-05-15

标签:升序   数据   组合   布尔   纵向   字段   字符串   横向   缺失   数据类型   排列   索引   参数   方法   降序   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top