广告
返回顶部
首页 > 资讯 > 后端开发 > Python >pandas实现按照Series分组示例
  • 864
分享到

pandas实现按照Series分组示例

2024-04-02 19:04:59 864人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1 按照一个Series进行分组2 按照多个Series进行分组3 分组和聚合采用不同的列或Series进行本文用到的表格内容如下: 先来看一下数据情形 import p

本文用到的表格内容如下:

先来看一下数据情形


import pandas as pd
life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df)

result:
      分类  编号    名称
0     水果   0    苹果
1     水果   1    橙子
2   生活用品   2    牙刷
3   生活用品   3    冰箱
4   生活用品   4   电视机
5     食物   0    苹果
6     食物   1    橙子
7     家电   3    冰箱
8     家电   4   电视机
9     大件   3    冰箱
10    大件   4   电视机
11    大件   5    茶几
12  生活用品   7  暖手宝宝
13  小说   8   红楼梦

将DataFrame的其中一列取出来就是一个Series,比如life_df["分类"]就是一个Series

1 按照一个Series进行分组


life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df.groupby(life_df["分类"]))

result:

<pandas.core.groupby.generic.DataFrameGroupBy object at 0x000001506806C6C8>

从上面的结果可以看出,如果只是传入Series,分组后的结果是一个DataFrameGroupBy对象。这个对象包含着分组以后的若干组数据,但是没有直接显示出来,需要对这些分组数据进行汇总计算以后才会显示出来


life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df.groupby(life_df["分类"]).count())

result:
  编号  名称

分类          
大件     3   3
家电     2   2
小说     1   1
水果     2   2
生活用品   4   4
食物     2   2

上面的代码是根据物品分类对所有数据进行了分组,然后对分组以后的数据分别进行计数运算,最后进行合并。

由于对分组后的数据进行了计数运算,因此每一列都会有一个结果。但是如果对分组后的结果做一些数值运算,这个时候只有数据类型是数值(int、float)的列才会参与运算


import pandas as pd
life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df.groupby(life_df["分类"]).sum())

result:
      编号

分类      
大件    12
家电     7
小说     8
水果     1
生活用品  16
食物     1

我们把这种对分组后的数据进行汇总运算的操作称为聚合,使用的函数称为聚合函数。比如前面系列文章提高的非空值计数、sum求和、最大值最小值、均值、中位数、众数、方差、标准差和分位数这些。都属于聚合函数。

2 按照多个Series进行分组

多Series分组和单Series分组差不多,只要将多个Series以列表的形式传递给groupby()即可。


life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df.groupby([life_df["分类"], life_df["名称"]]).count())

result:
       编号

分类   名称      
大件   冰箱     1
     电视机    1
     茶几     1
家电   冰箱     1
     电视机    1
小说   红楼梦    1
水果   橙子     1
     苹果     1
生活用品 冰箱     1
     暖手宝宝   1
     牙刷     1
     电视机    1
食物   橙子     1
     苹果     1


life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df.groupby([life_df["分类"], life_df["名称"]]).sum())

result:
       编号

分类   名称      
大件   冰箱     3
     电视机    4
     茶几     5
家电   冰箱     3
     电视机    4
小说   红楼梦    8
水果   橙子     1
     苹果     0
生活用品 冰箱     3
     暖手宝宝   7
     牙刷     2
     电视机    4
食物   橙子     1
     苹果     0

3 分组和聚合采用不同的列或Series进行

这里和按列分组的用法一致


life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx')
print(life_df.groupby(life_df["分类"])["名称"].count())

result:
分类
大件      3
家电      2
小说      1
水果      2
生活用品    4
食物      2
Name: 名称, dtype: int64

这里就是按照物品分类进行分组,再按照物品名称进行汇总统计

到此这篇关于pandas实现按照Series分组示例的文章就介绍到这了,更多相关pandas Series分组内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: pandas实现按照Series分组示例

本文链接: https://www.lsjlt.com/news/132071.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • pandas实现按照Series分组示例
    目录1 按照一个Series进行分组2 按照多个Series进行分组3 分组和聚合采用不同的列或Series进行本文用到的表格内容如下: 先来看一下数据情形 import p...
    99+
    2022-11-12
  • pandas怎么实现按照Series分组
    本篇内容介绍了“pandas怎么实现按照Series分组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录1 按照一个Series进行分组2...
    99+
    2023-06-20
  • pandas实现按行选择的示例代码
    目录1.自定义行索引2. 按普通索引选择数据2.1 按普通索引选择单行数据2.2 按行索引选择多行数据3.按位置索引选择数据3.2 按位置索引选择多行数据4.选择连续多行数据5.选择...
    99+
    2022-11-12
  • mysql实现按照某个时间段分组统计
    目录mysql按照某个时间段分组统计准备开始mysql区间分组统计场景利用了mysql提供的interval和elt函数实现了效果建中间表通过函数来划分区间mysql按照某个时间段分...
    99+
    2022-11-13
    mysql时间段分组统计 mysql分组统计 mysql统计
  • pandas组内排序并在每个分组内按序打上序号的操作示例
    这篇文章给大家分享的是有关pandas组内排序并在每个分组内按序打上序号的操作示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。问题:pandas组内排序,并在每个分组内按序打上序号描述:pandas dataf...
    99+
    2023-06-14
  • Pandas实现批量拆分与合并Excel的示例代码
    目录前言一、拆分成小表格二、合并excel1.介绍2.代码前言 提示:这里可以添加本文要记录的大概内容: 将一个EXCEL等份拆成多个EXCEL 将多个小EXCEL合并成一个大EXC...
    99+
    2022-11-11
  • golang实现数组分割的示例代码
    需求:给定一个数组和一个正整数,要求把数组分割成多个正整数大小的数组,如果不够分,则最后一个数组分到剩余的所有元素。 示例1: 数组:[1, 2, 3, 4, 5, 6, 7,...
    99+
    2022-11-12
  • Java实现差分数组的示例详解
    目录前言应用场景Leetcode题目实战题目描述思路代码前言 昨天(2022-06-07)在做leetcode每日一题的时候,第一次看到了这个超级简单但是很实用的算法---差分数组,...
    99+
    2022-11-13
  • php数组实现原理的示例分析
    这篇文章主要介绍了php数组实现原理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php有什么特点1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种...
    99+
    2023-06-14
  • React-router中结合webpack实现按需加载的示例分析
    这篇文章主要为大家展示了“React-router中结合webpack实现按需加载的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“React-route...
    99+
    2022-10-19
  • Android实现的ListView分组布局改进示例
    本文实例讲述了Android实现的ListView分组布局改进方法。分享给大家供大家参考,具体如下: 由于是在网上转载的一篇文章,在这里就不多说废话了,首先看一下最终的效果图:...
    99+
    2022-06-06
    示例 布局 listview Android
  • Mysql教程分组排名实现示例详解
    目录1.数据源2.数据整体排名1)普通排名2)并列排名3)并列排名3.数据分组后组内排名1)分组普通排名2)分组后并列排名3)分组后并列排名4.分组后取各组的前两名1.数据源 2....
    99+
    2022-11-12
  • Java数组实现堆排序的示例分析
    这篇文章主要为大家展示了“Java数组实现堆排序的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java数组实现堆排序的示例分析”这篇文章吧。数组全部入堆,再出堆从后向前插入回数组中,数...
    99+
    2023-05-30
    java
  • MySQL连表查询分组去重的实现示例
    目录业务逻辑数据表结构查询逻辑SQL脚本脚本说明业务逻辑 通过多种渠道将小程序的活动页链接发布出去,比如通过多多种短信附带链接( channel 就记为 sms1,sms2,sms3 ),或者海报上面贴微信小程序的...
    99+
    2022-05-24
    MySQL连表查询 MySQL分组去重 mysql 连表分组查询
  • ES5中实现数组map方法的示例分析
    这篇文章主要为大家展示了“ES5中实现数组map方法的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ES5中实现数组map方法的示例分析”这篇文章吧。 ES5 实现数组 map...
    99+
    2023-06-27
  • js中数组实现权重概率分配的示例分析
    小编给大家分享一下js中数组实现权重概率分配的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!代码如下: function weight_rand(arr){  ...
    99+
    2022-10-19
  • golang实现数组分割的示例代码怎么写
    这篇文章将为大家详细讲解有关golang实现数组分割的示例代码怎么写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。需求:给定一个数组和一个正整数,要求把数组分割成多个正整数大小的数组,如果不...
    99+
    2023-06-22
  • CSS3点击按钮实现背景渐变动画效果的示例分析
    这篇文章主要介绍了CSS3点击按钮实现背景渐变动画效果的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。效果图如下:实例代码如下:&l...
    99+
    2022-10-19
  • Drawer Builder组件实现flutter侧边抽屉效果示例分析
    目录前言Drawer 与 UserAccountsDrawerHeader定制唤出按钮并引出 Builder 组件整体代码最后前言 平时开发中难免会碰到抽屉效果,如果自己写肯定要费一...
    99+
    2022-11-13
    Drawer Builder flutter侧边抽屉 flutter侧边抽屉
  • C++实现LeetCode之最短子数组求和的示例分析
    这篇文章主要介绍C++实现LeetCode之最短子数组求和的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完![LeetCode] 209. Minimum Size Subarray Sum 最短子数组之和Gi...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作