pandas实现按照Series分组示例

 更新时间:2021年08月08日 14:25:38   作者:不思量自难忘  
本文主要介绍了pandas按照Series分组示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

先来看一下数据情形

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分组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python enumerate索引迭代代码解析

    Python enumerate索引迭代代码解析

    这篇文章主要介绍了Python enumerate索引迭代代码解析,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • python tkinter中的锚点(anchor)问题及处理

    python tkinter中的锚点(anchor)问题及处理

    这篇文章主要介绍了python tkinter中的锚点(anchor)问题及处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Python动态强类型解释型语言原理解析

    Python动态强类型解释型语言原理解析

    这篇文章主要介绍了Python动态强类型解释型语言原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • python实现文字转语音的项目实践

    python实现文字转语音的项目实践

    pyttsx3是一个Python库,用于文字转语音的功能,它可以将文本转换为语音,并使用不同的音频引擎进行输出,本文就来详细的介绍一下用法,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • 可视化之如何用pandas绘制简单的图形

    可视化之如何用pandas绘制简单的图形

    这篇文章主要介绍了可视化之如何用pandas绘制简单的图形问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python制作当年第一款手机游戏-贪吃蛇游戏(练习)

    Python制作当年第一款手机游戏-贪吃蛇游戏(练习)

    这篇文章主要介绍了Python制作当年第一款手机游戏-贪吃蛇游戏,文章利用Python pygame做一个贪吃蛇的小游戏而且讲清楚每一段代码是用来干嘛的,需要的朋友可以参考一下
    2022-01-01
  • 关于Python核心框架tornado的异步协程的2种方法详解

    关于Python核心框架tornado的异步协程的2种方法详解

    今天小编就为大家分享一篇关于Python核心框架tornado的异步协程的2种方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • pip install jupyterlab失败的原因问题及探索

    pip install jupyterlab失败的原因问题及探索

    在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它们来编译,由于在conda环境下操作,Rust和Cargo已经安装,问题是pywinpty包丢失,安装pywinpty包后,再次执行pip install jupyterlab即可正常下载
    2025-02-02
  • python使用requests+excel进行接口自动化测试的实现

    python使用requests+excel进行接口自动化测试的实现

    在当今的互联网时代中,接口自动化测试越来越成为软件测试的重要组成部分,本文就来介绍了python使用requests+excel进行接口自动化测试的实现,感兴趣的可以了解一下
    2023-11-11
  • python 使用OpenCV进行简单的人像分割与合成

    python 使用OpenCV进行简单的人像分割与合成

    这篇文章主要介绍了python 使用OpenCV进行简单的人像分割与合成的方法,帮助大家更好的利用python处理图像,感兴趣的朋友可以了解下
    2021-02-02

最新评论