数据排序&pandas

工具:jupyter Python3

数据排序

import numpy as np
import pandas as pd

参数说明:
1、axis:轴索引(排序的方向),0代表index(行),1代表columns(列)
2、ascending:是否升序排序,默认为True,表示升序,降序(False)
3、by:表示排序的列(按值进行排序)

更多参数详见:https://pandas.pydata.org/docs/user_guide/dsintro.html#dataframe

DataFrame行列排序

1、一个DataFrame对象,5行3列,随机整数,范围0-9,行索引为3,4,6,8,5,按照行索引降序排列

df1 = pd.DataFrame(np.random.randint(0,10,(5,3)),index=[3,4,6,8,5])
df1
012
3559
4841
6486
8840
5038
#按照行索引降序排序
df1.sort_index(axis=0,ascending=False)
012
3559
4841
5038
6486
8840

2、一个DataFrame对象,5行5列,随机整数,范围0-9,列索引为3,1,7,9,6,按照列索引降序排列

df2 = pd.DataFrame(np.random.randint(0,10,(5,5)),columns=[3,1,7,9,6])
df2
31796
020118
186580
256199
333294
491604
df2.sort_index(axis=1,ascending=False)
13679
002811
168058
265919
333429
419460

3、一个DataFrame对象,5行3列,随机整数,范围0-9,按照第二列的值降序排序

df3 = pd.DataFrame(np.random.randint(0,9,(5,3)))
df3
012
0474
1832
2732
3063
4046
df3.sort_values(by=1,ascending=False)
012
0474
3063
4046
1832
2732

4、一个DataFrame对象,5行3列,随机整数,范围0-9,按照第一行值升序排序

df4 = pd.DataFrame(np.random.randint(0,9,(5,3)))
df4
012
0350
1311
2048
3676
4547
df4.sort_values(axis=1,by=0)
201
0035
1131
2804
3667
4754

Series索引、值排序

一个Series对象,随机整数,范围0-10,长度为6

ser1 = pd.Series(np.random.randint(0,10,6))
ser1
0    5
1    5
2    0
3    3
4    8
5    2
dtype: int32

1、按照索引升序进行排序

ser1.sort_index()
0    5
1    5
2    0
3    3
4    8
5    2
dtype: int32

2、按照值进行降序排序

ser1.sort_values(ascending=False)
4    8
1    5
0    5
3    3
5    2
2    0
dtype: int32

注意:
1)ascending等号后面不要加引号
2)注意按索引排序时,是指索引的轴,默认为0(代表行的索引),1(代表列的索引),但其本质还是对相应轴的数据进行排序(详细看上边例题)
如:按索引进行排序时,当axis=0时,表示按照行的索引进行排序,本质上就是对值的排序。
3)当对象调用sort_values进行排序时,所有的缺失值默认都会放到末尾。(这里可以使用参数:na_position,他的值为first,last,顾名思义若na_position= 'first’时则会讲NaN值放到开头,后者反之。)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余生羁绊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值