数据排序pandas
工具:jupyter Python3
数据排序
import numpy as np
import pandas as pd
参数说明:
1、axis:轴索引(排序的方向),0代表index(行),1代表columns(列)
2、ascending:是否升序排序,默认为True,表示升序,降序(False)
3、by:表示排序的列(按值进行排序)
更多参数详见:https://pandas.pydata.org/docs/user_guide/dsintro.html#dataframe
DataFrame行列排序
1、一个DataFrame对象,5行3列,随机整数,范围0-9,行索引为3,4,6,8,5,按照行索引降序排列
df1 = pd.DataFrame(np.random.randint(0,10,(5,3)),index=[3,4,6,8,5])
df1
0 | 1 | 2 | |
---|---|---|---|
3 | 5 | 5 | 9 |
4 | 8 | 4 | 1 |
6 | 4 | 8 | 6 |
8 | 8 | 4 | 0 |
5 | 0 | 3 | 8 |
#按照行索引降序排序
df1.sort_index(axis=0,ascending=False)
0 | 1 | 2 | |
---|---|---|---|
3 | 5 | 5 | 9 |
4 | 8 | 4 | 1 |
5 | 0 | 3 | 8 |
6 | 4 | 8 | 6 |
8 | 8 | 4 | 0 |
2、一个DataFrame对象,5行5列,随机整数,范围0-9,列索引为3,1,7,9,6,按照列索引降序排列
df2 = pd.DataFrame(np.random.randint(0,10,(5,5)),columns=[3,1,7,9,6])
df2
3 | 1 | 7 | 9 | 6 | |
---|---|---|---|---|---|
0 | 2 | 0 | 1 | 1 | 8 |
1 | 8 | 6 | 5 | 8 | 0 |
2 | 5 | 6 | 1 | 9 | 9 |
3 | 3 | 3 | 2 | 9 | 4 |
4 | 9 | 1 | 6 | 0 | 4 |
df2.sort_index(axis=1,ascending=False)
1 | 3 | 6 | 7 | 9 | |
---|---|---|---|---|---|
0 | 0 | 2 | 8 | 1 | 1 |
1 | 6 | 8 | 0 | 5 | 8 |
2 | 6 | 5 | 9 | 1 | 9 |
3 | 3 | 3 | 4 | 2 | 9 |
4 | 1 | 9 | 4 | 6 | 0 |
3、一个DataFrame对象,5行3列,随机整数,范围0-9,按照第二列的值降序排序
df3 = pd.DataFrame(np.random.randint(0,9,(5,3)))
df3
0 | 1 | 2 | |
---|---|---|---|
0 | 4 | 7 | 4 |
1 | 8 | 3 | 2 |
2 | 7 | 3 | 2 |
3 | 0 | 6 | 3 |
4 | 0 | 4 | 6 |
df3.sort_values(by=1,ascending=False)
0 | 1 | 2 | |
---|---|---|---|
0 | 4 | 7 | 4 |
3 | 0 | 6 | 3 |
4 | 0 | 4 | 6 |
1 | 8 | 3 | 2 |
2 | 7 | 3 | 2 |
4、一个DataFrame对象,5行3列,随机整数,范围0-9,按照第一行值升序排序
df4 = pd.DataFrame(np.random.randint(0,9,(5,3)))
df4
0 | 1 | 2 | |
---|---|---|---|
0 | 3 | 5 | 0 |
1 | 3 | 1 | 1 |
2 | 0 | 4 | 8 |
3 | 6 | 7 | 6 |
4 | 5 | 4 | 7 |
df4.sort_values(axis=1,by=0)
2 | 0 | 1 | |
---|---|---|---|
0 | 0 | 3 | 5 |
1 | 1 | 3 | 1 |
2 | 8 | 0 | 4 |
3 | 6 | 6 | 7 |
4 | 7 | 5 | 4 |
Series索引、值排序
一个Series对象,随机整数,范围0-10,长度为6
ser1 = pd.Series(np.random.randint(0,10,6))
ser1
0 5
1 5
2 0
3 3
4 8
5 2
dtype: int32
1、按照索引升序进行排序
ser1.sort_index()
0 5
1 5
2 0
3 3
4 8
5 2
dtype: int32
2、按照值进行降序排序
ser1.sort_values(ascending=False)
4 8
1 5
0 5
3 3
5 2
2 0
dtype: int32
注意:
1)ascending等号后面不要加引号
2)注意按索引排序时,是指索引的轴,默认为0(代表行的索引),1(代表列的索引),但其本质还是对相应轴的数据进行排序(详细看上边例题)
如:按索引进行排序时,当axis=0时,表示按照行的索引进行排序,本质上就是对值的排序。
3)当对象调用sort_values进行排序时,所有的缺失值默认都会放到末尾。(这里可以使用参数:na_position,他的值为first,last,顾名思义若na_position= 'first’时则会讲NaN值放到开头,后者反之。)
数据排序pandas相关推荐
- 【Python】一文搞懂Pandas数据排序
数据排序,是使用非常高频的功能,Pandas排序支持做的非常好,主要涉及两个函数,两种数据类型,组合起来四种情况. Series排序 Series.sort_index 索引排序 Series.sor ...
- pandas使用read_csv函数读取csv数据、sort_index函数基于多层行索引对数据排序(设置ascending参数列表指定不同层行索引的排序方向)
pandas使用read_csv函数读取csv数据.index_col参数指定作为行索引的数据列索引列表形成复合(多层)行索引.sort_index函数基于多层行索引对数据排序(设置ascending ...
- Python数据攻略-Pandas数据排序方法
大家好,我是Mr数据杨.我们从数据准备开始,这如同三国的战争前的备战,必须有充足的粮草和士兵.而.sort_values()和.sort_index()方法,则像是战争中的行军路线,决定着军队的移动顺 ...
- C++ 接口 函数导出_Python玩转Excel:实现函数自动填充、数据排序
工作中,大家经常会使用excel去处理数据以及展示,但是对于部分工作我们可以借助程序帮忙实现,达到高效解决问题的效果. 比如将接口返回的json解析并保存结果到excel中,按一定规律处理excel中 ...
- 送你一个Python 数据排序的好方法
摘要:学习 Pandas排序方法是开始或练习使用 Python进行基本数据分析的好方法.最常见的数据分析是使用电子表格.SQL或pandas 完成的.使用 Pandas 的一大优点是它可以处理大量数据 ...
- python写csv文件按升序排列_用python给csv里的数据排序的具体代码
1.使用argparse组件,获取命令行参数:使用re组件,获取需要查找的字符串所在行 2.使用pandas组件,对文件进行排序. 3.命令行执行数据获取及排序,写入文件: 以下是完整代码: #cod ...
- pythonmysql数据分析_Python操作Mysql数据库入门——数据导入pandas(数据分析准备)...
原标题:Python操作Mysql数据库入门--数据导入pandas(数据分析准备) 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求 ...
- python按照日期筛选excel_Python玩转Excel:实现函数自动填充、数据排序
工作中,大家经常会使用excel去处理数据以及展示,但是对于部分工作我们可以借助程序帮忙实现,达到高效解决问题的效果. 比如将接口返回的json解析并保存结果到excel中,按一定规律处理excel中 ...
- 数据科学 5.2 数据整合 pandas程序
数据科学 5.2 数据整合 pandas程序 第5章 数据整合和数据清洗(代码pandas) 5.1 数据整合 5.1.1 行列操作 1. 单列 2. 选择多行和多列 3. 创建.删除列.行 5.1. ...
- Case study:在数据库网页中设计数据排序工具
一.目的 该笔记的目的是引导读者在已搭建的数据库网页的基础上,利用JS设计数据排序工具.其效果如图1所示."Order by"下拉列表框由一系列字段组成,如"Locati ...
最新文章
- (C++)1016 部分A+B 正整数
- pugixml库的一个使用心得
- 算法1-排序LowB三人组
- jQuery 多个 classes 选择器
- ASP.NET中使用Global.asax文件
- Java Number 类
- 查询删除的SAP销售订单
- iOS如何实现语音播报及后台播放
- 购物车完善版,客户余额及所购商品保存在文件
- Zookeeper_环境搭建及客户端使用
- 关于支付宝即时到帐异步通知(notify_url)一点总结
- 高可用集群HA之双机集群
- ViewPager 详解(二)---详解四大函数
- TensorFlow 卷积神经网络实用指南 | iBooker·ApacheCN
- php pack方法,php pack()函数详解与示例
- 为什么磁盘慢会导致Linux负载飙升?
- PHP RSA2 签名算法
- 论文阅读汇总(4)-【篇数:50】
- 对接有道翻译api中英翻译软件
- 自由传奇|为你的队伍加油!
热门文章
- 【Vegas原创】Oracle批量create、Lock user的方法
- C++工程通过opencv找到自己定义的矩形中的两平行线的距离
- 打开Hololens自动相机,和live stream
- 扇贝有道180929每日一句
- Atitit 眼科医学之道 attilax总结
- Atitit 视图参数解决方案 oracle版和mysql版本 attilax总结.docx
- Atitit 数据分析存储位置的查找方法与流程attilax总结
- Atitit.基于dsl的methodinvoker
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
- Atitit.研发管理---TOGAF架构跟 (ADM开发方法)总结