Pandas|排序,分组,组内排序
01
Pandas的基本排序
Pandas的主要数据结构有2个:DataFrame,Series,针对这两个类型的排序Demo如下:
#coding=utf-8
import pandas as pd
import numpy as np
#以下实现排序功能。
series=pd.Series([3,4,1,6],index=['b','a','d','c'])
frame=pd.DataFrame([[2,4,1,5],[3,1,4,5],[5,1,4,2]],columns=['b','a','d','c'],index=['one','two','three'])
print(frame)
print(series)
#series的排序API
print('series通过索引进行排序:')
print(series.sort_index())
print('series通过值进行排序:')
print(series.sort_values())
#dataframe的排序API
print('dataframe根据行索引进行降序排序(排序时默认升序,调节ascending参数):')
print(frame.sort_index(ascending=False))
print('dataframe根据列索引进行排序:')
print(frame.sort_index(axis=1))
print('dataframe根据值进行排序:')
print(frame.sort_values(by='a'))
print('通过多个索引进行排序:')
print(frame.sort_values(by=['a','c']))
02
输出
b a d c
one 2 4 1 5
two 3 1 4 5
three 5 1 4 2
b 3
a 4
d 1
c 6
dtype: int64
series通过索引进行排序:
a 4
b 3
c 6
d 1
dtype: int64
series通过值进行排序:
d 1
b 3
a 4
c 6
dtype: int64
dataframe根据行索引进行降序排序(排序时默认升序,调节ascending参数):
b a d c
two 3 1 4 5
three 5 1 4 2
one 2 4 1 5
dataframe根据列索引进行排序:
a b c d
one 4 2 5 1
two 1 3 5 4
three 1 5 2 4
dataframe根据值进行排序:
b a d c
two 3 1 4 5
three 5 1 4 2
one 2 4 1 5
通过多个索引进行排序:
b a d c
three 5 1 4 2
two 3 1 4 5
one 2 4 1 5
Pandas是具有行索引和列索引的表格,可以对这两个维度的索引分别排序。
03
Pandas分组
# data是DataFrame的实例
group_column1 = data.groupby('column1')
注意group_column1是一个Groupby类型的实例,它是可迭代的,元素为元包,第一个元素是组名称,第二个元素是子DataFrame。
04
Pandas组内排序
因为第二个元素是子DataFrame,所以:
for group_name, group_eles in group_column1:
group_eles.sort_values(by='column2',ascending=False)
这样就实现了组内排序
以上总结了Pandas的基本排序,分组,组内排序,希望有用,更好的API请留言
- 远程协助解决异常宕库的问题(r11笔记第75天)
- Nginx-helper纯代码版,文章评论发布自动清理Fastcgi缓存
- MySQL和Oracle行值表达式对比(r11笔记第74天)
- 闪回数据库不是“万金油”(r11笔记第73天)
- 修改Apache的超时设置,解决长连接请求超时问题
- Oracle 12cR2初体验(r11笔记第91天)
- MySQL中的undo截断(r11笔记第89天)
- Linux系统 df 命令显示异常、分区丢失问题解决
- MySQL主从、字典死锁、连接数的Python监控脚本
- MySQL Online DDL(二)(r11笔记第88天)
- 转-Android上面运行golang
- Golang适合高并发场景的原因分析
- 浅谈MySQL中的事务隔离级别(r11笔记第86天)
- 巧用echo命令解决Samba批量添加用户难题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android轮播图点击图片放大效果的实现方法
- 隐私策略更新 | Android 11 应用兼容性适配
- Android android:exported = true 用法详解
- Android WorkManager浅谈
- 详解Android 8.0以上系统应用如何保活
- 秒级去重:ClickHouse在腾讯海量游戏营销活动分析中的应用
- android studio 3.4配置Android -jni 开发基础的教程详解
- android TextView中识别多个url并分别点击跳转方法详解
- Android WebView支持input file启用相机/选取照片功能
- 谈谈RxJava2中的异常及处理方法
- Android Koin2基本使用的那件事儿
- 一篇文章弄懂kotlin的扩展方法
- 浅谈Android客户端与服务器的数据交互总结
- Android 连接匿名WiFi的示例代码
- Android自定义图文跑马灯效果