9.Pandas数据排序

Series的排序

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

  1. ascending:默认为True升序排序,False降序排序
  2. inplace:是否修改原始Series

DataFrame的排序

DataFrame.sort_values(by,ascending=True,inplace=False)

  1. by:字符串或者list<字符串>,单列排序或者多列排序
  2. ascending:bool或者List,升序还是降序,如果是list,对应by的多列
  3. inplace:是否修改原始DataFrame

排序测试

数据准备

ymd,bWenDu,yWenDu,tianQi,fengXiang,fengLi,aqi,aqiInfo,aqLevel
2018-01-01,3°C,-5°C,🌤,东北风,1-2级,59,良,2
2018-02-22,6°C,-4°C,☀,西南风,2-3级,66,良,1
2018-02-03,4°C,-5°C,☼,西风,5-6级,39,优,1
2018-04-05,5°C,-2°C,☂,北风,1-2级,43,优,1
2019-02-01,2°C,-6°C,☁,南风,1-2级,27,良,2
2019-10-23,3°C,-1°C,🌤,东风,1-2级,18,良,2

数据预处理

import pandas as pd

fpath = "../data/tianqi.csv"
df = pd.read_csv(fpath)
# 处理数据,先将温度后缀去掉,变成数字类型
df.loc[:, "bWenDu"] = df["bWenDu"].str.replace("°C", "").astype('int32')
df.loc[:, "yWenDu"] = df["yWenDu"].str.replace("°C", "").astype('int32')

Series的排序

# 升序
# print(df['aqi'].sort_values())
# 降序
print(df['aqi'].sort_values(ascending=False))

在这里插入图片描述

DataFrame的排序

单列排序
print(df.sort_values(by='aqi'))

多列排序
#多列排序
# 按空气质量等级、最高温度排序默认升序
print(df.sort_values(by=['aqLevel',"bWenDu"]))

在这里插入图片描述

#两个字段都是降序
print(df.sort_values(by=['aqiLevel',"bWenDu"],ascending=False))

在这里插入图片描述

# 指定字段升序和降序
print(df.sort_values(by=['aqLevel', "bWenDu"], ascending=[True, False]))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值