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

相关文章
|
2月前
|
Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数变换数据。示例代码:导入pandas,定义一个包含&#39;Name&#39;和&#39;Age&#39;列的DataFrame,使用`melt()`转为长格式,再用`pivot()`恢复为宽格式。
73 1
|
2月前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by=&#39;A&#39;, ascending=False)`。`rank()`函数用于计算排名,如`df[&#39;A&#39;].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=[&#39;A&#39;, &#39;B&#39;], ascending=[True, False])`和分别对&#39;A&#39;、&#39;B&#39;列排名。
45 2
|
2月前
|
存储 Python
使用Pandas库对非数值型数据进行排序和排名
在Pandas中,支持对非数值型数据排序和排名。可按以下方法操作:1) 字符串排序,使用`sort_values()`,如`sorted_df = df.sort_values(by=&#39;Name&#39;, ascending=False)`进行降序排序;2) 日期排序,先用`to_datetime()`转换,再排序,如`sorted_df = df.sort_values(by=&#39;Date&#39;)`;3) 自定义排序,结合`argsort()`和自定义规则。
46 2
|
18天前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
33 1
|
2月前
|
存储 JSON 数据处理
从JSON数据到Pandas DataFrame:如何解析出所需字段
从JSON数据到Pandas DataFrame:如何解析出所需字段
147 1
|
18天前
|
存储 消息中间件 数据挖掘
Python实时数据分析:利用丰富的库(如Pandas, PySpark, Kafka)进行流处理,涵盖数据获取、预处理、处理、存储及展示。
【7月更文挑战第5天】Python实时数据分析:利用丰富的库(如Pandas, PySpark, Kafka)进行流处理,涵盖数据获取、预处理、处理、存储及展示。示例代码展示了从Kafka消费数据,计算社交媒体活跃度和物联网设备状态,并可视化结果。适用于监控、故障检测等场景。通过学习和实践,提升实时数据分析能力。
30 0
|
18天前
|
数据采集 数据挖掘 大数据
Pandas是Python数据分析的核心库,基于NumPy,提供DataFrame结构处理结构化数据
【7月更文挑战第5天】Pandas是Python数据分析的核心库,基于NumPy,提供DataFrame结构处理结构化数据。它支持缺失值处理(dropna()、fillna())、异常值检测(Z-Score、IQR法)和重复值管理(duplicated()、drop_duplicates())。此外,数据转换包括类型转换(astype())、数据标准化(Min-Max、Z-Score)以及类别编码(get_dummies())。这些功能使得Pandas成为大数据预处理的强大工具。
|
2月前
|
数据采集 监控 数据可视化
Pandas平滑法时序数据
【5月更文挑战第17天】本文介绍了使用Python的Pandas库实现指数平滑法进行时间序列预测分析。指数平滑法是一种加权移动平均预测方法,通过历史数据的加权平均值预测未来趋势。文章首先阐述了指数平滑法的基本原理,包括简单指数平滑的计算公式。接着,展示了如何用Pandas读取时间序列数据并实现指数平滑,提供了示例代码。此外,文中还讨论了指数平滑法在实际项目中的应用,如销售预测和库存管理,并提到了在`statsmodels`库中使用`SimpleExpSmoothing`函数进行模型拟合和预测。最后,文章强调了模型调优、异常值处理、季节性调整以及部署和监控的重要性,旨在帮助读者理解和应用这一方法
39 2
 Pandas平滑法时序数据
|
1月前
|
数据采集 安全 数据处理
Python采集数据处理:利用Pandas进行组排序和筛选
使用Python的Pandas库,结合亿牛云代理和多线程技术,提升网络爬虫数据处理效率。通过代理IP避免封锁,多线程并发采集,示例代码展示数据分组、排序、筛选及代理IP配置和线程管理。
Python采集数据处理:利用Pandas进行组排序和筛选