Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Pandas|排序,分组,组内排序

Pandas|排序,分组,组内排序

作者头像
double
发布于 2018-04-02 09:18:02
发布于 2018-04-02 09:18:02
7.4K00
代码可运行
举报
文章被收录于专栏:算法channel算法channel
运行总次数:0
代码可运行

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

输出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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请留言

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
pandasNote3
import numpy as np import pandas as pd from pandas import Series, DataFrame 主要内容 填充值处理 fill_value 翻转功能r 广播机制 apply和applymap 排名和排序 重复标签 汇总和统计 填充值处理 使用add方法,填入fill_value参数,添加指定元素 翻转参数,用r实现 add/radd sub/rsub div/rdiv floor/rfloor mul/rmul pow/rpow df1 = pd.D
皮大大
2021/03/01
5170
[编程经验] Pandas入门(二)
上次介绍了Pandas的部分操作,包括创建Series,DataFrame以及基本索引,文件保存与读取等。今天我们介绍一下Pandas常用的其他功能。 首先我们还是随机产生一个数据表,5行3列的数据框。保存到csv文件并读取。 import pandas as pd import numpy as np sample = np.array(np.random.randint(0,100, size=15)) sample_reshape = sample.reshape((5,3)) sample_pd
用户1622570
2018/04/11
1.3K0
Python可视化数据分析05、Pandas数据分析
Series是一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据标签(索引)组成,创建Series对象的语法如下:
红目香薰
2022/11/30
2.6K0
Python可视化数据分析05、Pandas数据分析
13个Pandas实用技巧,有点香 !
归纳整理了一些工作中常用到的pandas使用技巧,方便更高效地实现数据分析。文章很短,不用收藏就能Get~
Python数据科学
2020/06/22
1K0
python pandas 基础之四---转换,排序,聚合
duplicated()函数可以检测重复的行,返回布尔型的Series对象,每个元素对应一行。
小末快跑
2019/07/03
8110
【精华总结】全文4000字、20个案例详解Pandas当中的数据统计分析与排序
大家好,我是俊欣,本篇文章应该算得上是2022年的第一篇原创了,抱歉,元旦期间小编有点偷懒。
用户6888863
2022/04/13
5370
【精华总结】全文4000字、20个案例详解Pandas当中的数据统计分析与排序
《利用Python进行数据分析·第2版》第5章 pandas入门5.1 pandas的数据结构介绍5.2 基本功能5.3 汇总和计算描述统计5.4 总结
pandas是本书后续内容的首选库。它含有使数据清洗和分析工作变得更快更简单的数据结构和操作工具。pandas经常和其它工具一同使用,如数值计算工具NumPy和SciPy,分析库statsmodels和scikit-learn,和数据可视化库matplotlib。pandas是基于NumPy数组构建的,特别是基于数组的函数和不使用for循环的数据处理。 虽然pandas采用了大量的NumPy编码风格,但二者最大的不同是pandas是专门为处理表格和混杂数据设计的。而NumPy更适合处理统一的数值数组数据。
SeanCheney
2018/04/24
6.2K0
《利用Python进行数据分析·第2版》第5章 pandas入门5.1 pandas的数据结构介绍5.2 基本功能5.3 汇总和计算描述统计5.4 总结
Pandas数据分析包
Pandas是面板数据(Panel Data)的简写。它是Python最强大的数据分析和探索工具,因金融数据分析工具而开发,支持类似SQL的数据增删改查,支持时间序列分析,灵活处理缺失数据。 pandas的数据结构 Series Series是一维标记数组,可以存储任意数据类型,如整型、字符串、浮点型和Python对象等,轴标一般指索引。Series的字符串表现形式为:索引在左边,值在右边。 Series、Numpy中的一维Array、Python基本数据结构List区别:List中的元素可以是不
听城
2018/04/27
3.1K0
Pandas数据分析包
Pandas-DataFrame基础知识点总结
1、DataFrame的创建 DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的值。DataFrame既有行索引,也有列索引,它可以看作是由Series组成的字典,不过这些Series公用一个索引。 DataFrame的创建有多种方式,不过最重要的还是根据dict进行创建,以及读取csv或者txt文件来创建。这里主要介绍这两种方式。 根据字典创建 data = { 'state':['Ohio','Ohio','Ohio','Nevada','Nevada'], '
石晓文
2018/04/11
4.3K0
Pandas-DataFrame基础知识点总结
pandas系列5-分组_groupby
groupby 是pandas 中非常重要的一个函数, 主要用于数据聚合和分类计算. 其思想是“split-apply-combine”(拆分 - 应用 - 合并). 拆分:groupby,按照某个属性column分组,得到的是一个分组之后的对象 应用:对上面的对象使用某个函数,可以是自带的也可以是自己写的函数,通过apply(function) 合并:最终结果是个S型数据 pandas分组和聚合详解 官方文档 DataFrame.``groupby(self, by=None, axis=0,
皮大大
2021/03/02
1.8K0
Pandas的函数应用、层级索引、统计计算1.Pandas的函数应用apply 和 applymap排序处理缺失数据2.层级索引(hierarchical indexing)MultiIndex索引对
文章来源:Python数据分析 1.Pandas的函数应用 apply 和 applymap 1. 可直接使用NumPy的函数 示例代码: # Numpy ufunc 函数 df = pd.DataFrame(np.random.randn(5,4) - 1) print(df) print(np.abs(df)) 运行结果: 0 1 2 3 0 -0.062413 0.844813 -1.853721 -1.980717 1
Python攻城狮
2018/08/23
2.3K0
Pandas的函数应用、层级索引、统计计算1.Pandas的函数应用apply 和 applymap排序处理缺失数据2.层级索引(hierarchical indexing)MultiIndex索引对
pandas知识点(基本功能)
1.重新索引 如果reindex会根据新索引重新排序,不存在的则引入缺省: In [3]: obj = Series([4.5,7.2,-5.3,3.6], index=["d","b","a","c"]) In [4]: obj Out[4]: d 4.5 b 7.2 a -5.3 c 3.6 dtype: float64 In [6]: obj2 = obj.reindex(["a","b","c","d","e"]) In [7]: obj2 Out[7]: a -5.3 b
py3study
2020/01/20
4240
一句Python,一句R︱pandas模块——高级版data.frame
版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! https://blog.csdn.net/sinat_26917383/article/details/52291677
悟乙己
2019/05/26
4.9K0
Pandas笔记-基础篇
Numpy 数组运算都会保留索引和值之间的链接,但这些操作并不会改变原Series本身(与ndarray的选区操作相对)
Ewdager
2020/07/14
6710
数据可视化:认识Pandas
Pandas是一个强大的分析结构化数据的工具集,它的使用基础是Numpy,用于数据挖掘和数据分析,同时也具有数据清洗功能。
马拉松程序员
2023/09/02
3100
数据可视化:认识Pandas
Pandas
Series是一种类似于一维数组的对象,由一组数据和一组与之相关的数据标签(索引)组成
GH
2020/03/19
1.6K0
Python 数据处理:Pandas库的使用
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python 数据处理:Pandas库的使用 ---- Python 数据处理:Pandas库的使用 1.Pandas 数据结构 1.1 Series 1.2 DataFrame 2.基本功能 2.1 重新索引 2.2 丢弃指定轴上的项 2.3 索引、选取和过滤 2.4 用 loc 和 iloc 进行选取 2.5
小嗷犬
2022/11/15
23.1K0
Pandas
Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具。经过多年不懈的努力,Pandas 离这个目标已经越来越近了。
爱编程的小明
2022/09/05
9.3K0
Pandas
Pandas 2.2 中文官方教程和指南(二十·二)
有了 GroupBy 对象,通过分组数据进行迭代非常自然,类似于itertools.groupby()的操作:
ApacheCN_飞龙
2024/05/24
5580
Pandas 2.2 中文官方教程和指南(二十·二)
【数据处理包Pandas】分组及相关操作
数据集team.xlsx下载地址: 链接:https://pan.quark.cn/s/9e3b2a933510 提取码:7i2y
Francek Chen
2025/01/22
2330
【数据处理包Pandas】分组及相关操作
推荐阅读
相关推荐
pandasNote3
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验