pandas排序

导入包

import pandas as pd
import numpy as np
from pandas import Series,DataFrame

‘’’

pandas排序

**obj.sort_index**(**axis=0,ascending=True,inplace = False**)
**obj.sort_value**(**by=label,axis=0,ascending=True,inplace = False**) 
**by**:str 表示根据axis方向索引名进行排序
**axis**:0/1轴
**ascending**:升序降序

‘’’

series排序

s1=Series(np.random.randint(1,10,6),index=list('cbaefd'))

print(s1)
print(s1.sort_index(ascending=False))
print(s1.sort_values(inplace=True))

dataframe排序

df1 =DataFrame(
    np.random.choice(range(100),(3,5),replace=False),
    index='three/one/two'.split('/'),
    columns=list('bdcae')
)
print(df1)

按索引排序 默认行索引

print(df1.sort_index())
按照列索引排序
print(df1.sort_index(axis=1))
按值排序 axis=0 by 选择列索引
print(df1.sort_values(by='a',axis=0))

print(df1.sort_values(by='one',axis=1))

模拟创建一个成绩 语文 数学 英语 各科成绩有重复

names = '一、二、三、四、五、六、牛、今、天、金、木、水、火、土、儿 ,大 ,小,口 ,几 ,人, 入, 日 ,月, 己, 上, 下, 白 ,丫, 匕, 卜 ,土 ,子 ,力 ,个, 井 ,了, 木 ,又, 巾 , 王 ,寸, 飞 ,不, 少, 斤, 太, 才,之, 士,  万'.replace('、',',').split(',')
print(len(names))
df2 = DataFrame(
    {
        '语文':np.random.randint(90,100,50),
        '数学':np.random.randint(80,100,50),
        '英语':np.random.randint(70,100,50)
    },
    index=[np.random.choice(list('赵钱孙李周吴郑王'))+names.pop(np.random.randint(0,len(names))) for x in range(0,50)]
)
print(df2)
对df2 排序 按照语文成绩降序
print(df2.sort_values(by='语文',ascending=False))
按照多个值排序
print(df2.sort_values(by=['语文','数学','英语'],ascending=False))
按照总分排序
df2['总分']=df2.sum(axis=1)
print(df2)
df2.sort_values(by='总分',ascending=False)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值