pandas-06 Series和Dataframe的排序操作
pandas-06 Series和Dataframe的排序操作
对pandas中的Series和Dataframe进行排序,主要使用sort_values()和sort_index()。
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind=‘quicksort’, na_position=‘last’)
by:列名,按照某列排序
axis:按照index排序还是按照column排序
ascending:是否升序排列
kind:选择 排序算法{‘quicksort’, ‘mergesort’, ‘heapsort’}, 默认是‘quicksort’,也就是快排
na_position:nan排列的位置,是前还是后{‘first’, ‘last’}, 默认是‘last’
sort_index() 的参数和上面差不多。
实例:
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
np.random.seed(666)
s1 = Series(np.random.randn(10))
print(s1)
'''
0 0.824188
1 0.479966
2 1.173468
3 0.909048
4 -0.571721
5 -0.109497
6 0.019028
7 -0.943761
8 0.640573
9 -0.786443
dtype: float64
'''
# 为series排序的两种方式,1 用 value 来排序, 2 用 index 来排序
s2 = s1.sort_values() # 按照 value 来排序
print(s2)
'''
7 -0.943761
9 -0.786443
4 -0.571721
5 -0.109497
6 0.019028
1 0.479966
8 0.640573
0 0.824188
3 0.909048
2 1.173468
dtype: float64
'''
# axis 设置轴 的方向, ascending 设置升降序
s2 = s1.sort_values(axis = 0, ascending=False)
print(s2)
'''
2 1.173468
3 0.909048
0 0.824188
8 0.640573
1 0.479966
6 0.019028
5 -0.109497
4 -0.571721
9 -0.786443
7 -0.943761
dtype: float64
'''
# 通过 对 index 进行排序
s2.sort_index()
print(s2)
'''
2 1.173468
3 0.909048
0 0.824188
8 0.640573
1 0.479966
6 0.019028
5 -0.109497
4 -0.571721
9 -0.786443
7 -0.943761
dtype: float64
'''
# 对于 dataframe 的排序
df1 = DataFrame(np.random.randn(40).reshape(8, 5), columns=['a', 'b', 'c', 'd', 'e'])
print(df1)
'''
a b c d e
0 0.608870 -0.931012 0.978222 -0.736918 -0.298733
1 -0.460587 -1.088793 -0.575771 -1.682901 0.229185
2 -1.756625 0.844633 0.277220 0.852902 0.194600
3 1.310638 1.543844 -0.529048 -0.656472 -0.201506
4 -0.700616 0.687138 -0.026076 -0.829758 0.296554
5 -0.312680 -0.611301 -0.821752 0.897123 0.136079
6 -0.258655 1.110766 -0.188424 -0.041489 -0.984792
7 -1.352282 0.194324 0.267239 -0.426474 1.447735
'''
# 按照 columns 进行排序, 这种做法 和 对 series的 操作 差不多
print(df1['a'].sort_values())
'''
2 -1.756625
7 -1.352282
4 -0.700616
1 -0.460587
5 -0.312680
6 -0.258655
0 0.608870
3 1.310638
Name: a, dtype: float64
'''
# 将 dataframe 按照 其中 某个列进行排序, 参数ascending来控制 升降序
print(df1.sort_values('a'))
'''
a b c d e
2 -1.756625 0.844633 0.277220 0.852902 0.194600
7 -1.352282 0.194324 0.267239 -0.426474 1.447735
4 -0.700616 0.687138 -0.026076 -0.829758 0.296554
1 -0.460587 -1.088793 -0.575771 -1.682901 0.229185
5 -0.312680 -0.611301 -0.821752 0.897123 0.136079
6 -0.258655 1.110766 -0.188424 -0.041489 -0.984792
0 0.608870 -0.931012 0.978222 -0.736918 -0.298733
3 1.310638 1.543844 -0.529048 -0.656472 -0.201506
'''
df2 = df1.sort_values('a')
print(df2)
'''
a b c d e
2 -1.756625 0.844633 0.277220 0.852902 0.194600
7 -1.352282 0.194324 0.267239 -0.426474 1.447735
4 -0.700616 0.687138 -0.026076 -0.829758 0.296554
1 -0.460587 -1.088793 -0.575771 -1.682901 0.229185
5 -0.312680 -0.611301 -0.821752 0.897123 0.136079
6 -0.258655 1.110766 -0.188424 -0.041489 -0.984792
0 0.608870 -0.931012 0.978222 -0.736918 -0.298733
3 1.310638 1.543844 -0.529048 -0.656472 -0.201506
'''
# 对 df2 的 索引 进行排序, 又回到之前的原本的 df2
print(df2.sort_index())
'''
a b c d e
0 0.608870 -0.931012 0.978222 -0.736918 -0.298733
1 -0.460587 -1.088793 -0.575771 -1.682901 0.229185
2 -1.756625 0.844633 0.277220 0.852902 0.194600
3 1.310638 1.543844 -0.529048 -0.656472 -0.201506
4 -0.700616 0.687138 -0.026076 -0.829758 0.296554
5 -0.312680 -0.611301 -0.821752 0.897123 0.136079
6 -0.258655 1.110766 -0.188424 -0.041489 -0.984792
7 -1.352282 0.194324 0.267239 -0.426474 1.447735
'''
pandas-06 Series和Dataframe的排序操作的更多相关文章
- Python之Pandas中Series、DataFrame
Python之Pandas中Series.DataFrame实践 1. pandas的数据结构Series 1.1 Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一 ...
- Python之Pandas中Series、DataFrame实践
Python之Pandas中Series.DataFrame实践 1. pandas的数据结构Series 1.1 Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作
一.reindex() 方法:重新索引 针对 Series 重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...
- Pandas中Series和DataFrame的索引
在对Series对象和DataFrame对象进行索引的时候要明确这么一个概念:是使用下标进行索引,还是使用关键字进行索引.比如list进行索引的时候使用的是下标,而dict索引的时候使用的是关键字. ...
- pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- pandas学习series和dataframe基础
PANDAS 的使用 一.什么是pandas? 1.python Data Analysis Library 或pandas 是基于numpy的一种工具,该工具是为了解决数据分析人物而创建的. 2.p ...
- [Python] Pandas 中 Series 和 DataFrame 的用法笔记
目录 1. Series对象 自定义元素的行标签 使用Series对象定义基于字典创建数据结构 2. DataFrame对象 自定义行标签和列标签 使用DataFrame对象可以基于字典创建数据结构 ...
- Python数据分析-Pandas(Series与DataFrame)
Pandas介绍: pandas是一个强大的Python数据分析的工具包,是基于NumPy构建的. Pandas的主要功能: 1)具备对其功能的数据结构DataFrame.Series 2)集成时间序 ...
随机推荐
- clumsy 模拟网络丢包延迟
https://www.cnblogs.com/bodboy/p/6015530.html clumsy 能在 Windows 平台下人工造成不稳定的网络状况,方便你调试应用程序在极端网络状况下的表现 ...
- MYSQL定时任务-定时清除备份数据
背景 由于项目需要,每个月的历史存量数据需要进行一个归档和备份操作,以及一些日志表需要进行一个明细字段清除,让mysql数据库磁盘节省空间.则需要一些定时任务来定时清理这些数据. 技术选型 Java ...
- 运维笔记--Ubuntu离线安装jdk1.8(JDK8)Java环境
Ubuntu离线环境安装jdk1.8 系统版本:Ubuntu16.04 其他Ubuntu版本安装类似 Jdk版本:8 1. 下载相应离线软件包 Jdk oracle官方下载地址:https://www ...
- 消息中间件 RabbitMQ 入门篇
消息中间件 RabbitMQ 入门篇 五月君 K8S中文社区 今天 作者:五月君,来源:Nodejs技术栈 从不浪费时间的人,没有工夫抱怨时间不够.—— 杰弗逊 RabbitMQ 是一套开源(MP ...
- Maven name=archetypeCatalog value=internal
来源 https://www.cnblogs.com/del88/p/6286887.html IDEA根据maven archetype的本质,其实是执行mvn archetype:generate ...
- maven更改本地的maven私服
1.今天想升级一个服务的jar包,更改后 使用命令 mvn deploy -e 一直报错, 看错误信息是 私服地址不是公司现在的地址. 想了半天,原来是电脑一直配置的上家公司的私服地址.. 但是在哪 ...
- [Python] 项目的配置覆盖与合并
参考来源: https://www.liaoxuefeng.com/wiki/1016959663602400/1018490750237280 代码稍微修改了一下 import os import ...
- 【linux基础】如何配置ubuntu系统为静态IP地址
前言 连接远程server重启的时候发现IP发生变化,影响远程连接,此时,需要将server配置为静态IP. 系统环境 ubuntu16.04 操作过程 1. 设置IP和DNS command sud ...
- CentOS下安装Tomcat
CentOS版本:CentOS-7-x86_64-Minimal-1810 1.安装JDK 详情查看:CentOS下安装JDK-rpm文件.CentOS安装JDK-tar.gz文件 2.下载tomca ...
- XLNet and Robertra
XLNET But the AE language model also has its disadvantages. It uses the [MASK] in the pretra ...