pandas - 数据排序

简介: pandas - 数据排序

pandas - 排序


Series 排序


  1. 语法结构:Series.sort_values(ascending=True, inplace=False)

参数说明:

ascending:默认为True升序排序,为False降序排序;

inplace:是否修改原始Series;


DataFrame 排序

  1. 语法结构:DataFrame.sort_values(by, ascending=True, inplace=False)

参数说明:

by:字符串或者List<字符串>,单列排序或者多列排序;

ascending:bool或者List,升序还是降序,如果是list对应by的多列,默认升序,为False时降序;

inplace:是否修改原始DataFrame,为True时修改源数据;


实例

  1. 读取文件:以 match.csv 为例
import pandas as pd 
df = pd.read_csv("match.csv")
df


3338ad08b82f4397a148cae2a12e7798.png


  1. Series 排序
import pandas as pd 
df = pd.read_csv("match.csv")
# 按照 Number 升序排序
df["Number"].sort_values()
    输出:
    0       0.0
    291     0.0
    22      0.0
    393     0.0
    141     0.0
           ... 
    372    90.0
    5      90.0
    68     92.0
    1      99.0
    457     NaN
    Name: Number, Length: 458, dtype: float64
# 按照 Number 降序排序
df["Number"].sort_values(ascending=False)
    输出:
    1      99.0
    68     92.0
    5      90.0
    372    90.0
    398    88.0
           ... 
    347     0.0
    188     0.0
    205     0.0
    0       0.0
    457     NaN
    Name: Number, Length: 458, dtype: float64
# 也可以将文本排序
df["Name"].sort_values()
    输出:
    152      Aaron Brooks
    356      Aaron Gordon
    328    Aaron Harrison
    404     Adreian Payne
    312        Al Horford
                ...      
    270    Xavier Munford
    402       Zach LaVine
    271     Zach Randolph
    237     Zaza Pachulia
    457               NaN
    Name: Name, Length: 458, dtype: object


  1. DataFrame 排序
  • 单列排序
import pandas as pd
df =pd.read_csv('match.csv')
#按照 Number 降序排序
df.sort_values(by = "Number",ascending = False)  # 默认升序排序,ascending=True时,升序排序
#输出如下:


35032ec18d1b45d89f4206f62da0eb68.png

  • 多列排序-1——同升同降
import pandas as pd
df =pd.read_csv('match.csv')
#按照 Age 与 Number 均升序排序,不修改源数据
df.sort_values(by = ["Age","Number"],ascending=True,inplace=False)
#输出如下:


e918727a07f34ee4bb73115035a1269c.png

  • 多列排序-2——指定升降序
import pandas as pd
df =pd.read_csv('match.csv')
# 按照 Age 与 Number 排序,分别指定升序和降序
df.sort_values(by = ["Age","Number"],ascending = [True,False])  # ascending可以接受str类型,所以True与False没有加引号
#输出如下:

24cc029659ff42c2ba2a76527f8b924d.png

相关文章
|
17天前
|
Python
|
17天前
|
Python
|
16天前
|
Python
Pandas 常用函数-数据合并
Pandas 常用函数-数据合并
31 1
|
17天前
|
索引 Python
Pandas 常用函数-数据排序
10月更文挑战第28天
8 1
|
17天前
|
Python
Pandas 常用函数-查看数据
Pandas 常用函数-查看数据
14 2
|
17天前
|
SQL JSON 数据库
Pandas 常用函数-读取数据
Pandas 常用函数-读取数据
13 2
|
21天前
|
Python
通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法
在金融分析领域,&quot;死叉&quot;指的是短期移动平均线(如MA5)下穿长期移动平均线(如MA10),而&quot;金叉&quot;则相反。本文介绍了一种利用Python编程语言,通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法。该方法首先计算两种移动平均线,接着确定它们的交叉点,最后检查并输出最近一次死叉及其后是否形成了金叉。此技术广泛应用于股市趋势分析。
38 2
|
16天前
|
Python
Pandas 常用函数-数据选择和过滤
Pandas 常用函数-数据选择和过滤
10 0
|
1月前
|
数据可视化 数据挖掘 数据处理
模型预测笔记(四):pandas_profiling生成数据报告
本文介绍了pandas_profiling库,它是一个Python工具,用于自动生成包含多种统计指标和可视化的详细HTML数据报告,支持大型数据集并允许自定义配置。安装命令为`pip install pandas_profiling`,使用示例代码`pfr = pandas_profiling.ProfileReport(data_train); pfr.to_file("./example.html")`。
48 1
|
2月前
|
数据挖掘 数据处理 Python
​掌握Pandas中的rolling窗口,轻松处理时间序列数据
​掌握Pandas中的rolling窗口,轻松处理时间序列数据
139 1
下一篇
无影云桌面