数据的分组聚合

news2024/11/25 11:59:39

1:分组  t.groupby

#coding:utf-8
import pandas as pd
import numpy as np
file_path='./starbucks_store_worldwide.csv'
df=pd.read_csv(file_path)
#print(df.head(1))
#print(df.info())
grouped=df.groupby(by='Country')
print(grouped)
#DataFrameGroupBy
#可以遍历,也可以使用聚合方法
2:DataFrameGroupBy可以进行遍历
grouped=df.groupby(by='Country')
print(grouped)
#DataFrameGroupBy
#可以遍历

for i, j in grouped:
    print(i)
    print('_'*100)
    print(j,type(j))
    print('*'*100)

3:DateFrameGroupBy可以聚合

print(grouped.count()),可以对grouped进行统计操作
country_count=grouped['Brand'].count()
print(country_count['CN'])
print(country_count['US'])

4:统计中国每个省份店铺的数量

#coding:utf-8
import pandas as pd
import numpy as np
file_path='./starbucks_store_worldwide.csv'
df=pd.read_csv(file_path)
china_date=df[df['Country']=='CN']
#print(china_date)
grouped=china_date.groupby(by='City').count()['Brand']
print(grouped)

5:按照多条件进行分组

#coding:utf-8
import pandas as pd
import numpy as np
file_path='./starbucks_store_worldwide.csv'
df=pd.read_csv(file_path)
china_date=df[df['Country']=='CN']
#print(china_date)
#grouped=china_date.groupby(by='City').count()['Brand']
grouped=df['Brand'].groupby(by=[df['Country'],df['State/Province']]).count()
print(grouped)
print(type(grouped))

6:df['Brand']和df[['Brand']]一个代表Series格式,一个代表DateFrame格式

 

 

#coding:utf-8
import pandas as pd
import numpy as np
file_path='./starbucks_store_worldwide.csv'
df=pd.read_csv(file_path)
china_date=df[df['Country']=='CN']
#print(china_date)
#grouped=china_date.groupby(by='City').count()['Brand']
grouped=df['Brand'].groupby(by=[df['Country'],df['State/Province']]).count()
print(grouped)
print(type(grouped))

7:索引和复合索引

#把某一列作为索引df.set_index

#重置索引 df.index=['x','y']

df1=pd.DataFrame(np.ones(8).reshape(2,4))
df1.index=['a','b']
# df1.reindex['a','f']
# print(df1)
df1.columns=['c','d','e','f']
#print(df1)
df2=df1.set_index('c')
print(df2)
df2=df1.set_index('c',drop=False)
#c不止是索引,仍然是列
print(df2)

#index.unique

df2=df1.set_index('c',drop=False).index.unique()

print(df2)

#index是可迭代的对象,可以len( ),也可以list()

df2=len(df1.set_index('c',drop=False))
#c不止是索引,仍然是列
print(df2)
df2=list(df1.set_index('c',drop=False))
print(df2)

#设置2个列作为索引

 #设置两个列作为索引
df3=df1.set_index(['c','d'],drop='false')
print(df3)

#简单的索引操作

75737938fc914ee9964a2fd6ba151431.png

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/346211.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1.2配置OSPF包文分析和验证

1.2.2实验2:配置OSPF包文分析和验证 [1] 实验目的通过抓包分析OSPF的包文实现OSPF区域认证的配置实验拓扑实验拓扑图如图1-3所示。 图1-3 配置OSPF包文分析和验证 实验步骤 IP地址的配置、运行OSPF的步骤与实验1相同,此处略。[2] 在R1的g0/0/0抓包

Redis 集群搭建及集群管理工具

目录一、简介二、架构图三、搭建集群3.1、下载3.2、编译安装3.3、配置文件修改3.4、创建集群四、集群管理工具redis-cli4.1、查看集群信息4.2、检查集群4.3、修复槽错误4.4、重分片4.5、负载均衡4.6、添加节点4.7、删除节点4.8、设置超时4.9、导入数据4.10、重建集群一、简介 本…

【JavaWeb】网络编程概念 + Socket套接字 + UDP/TCP编程

目录 网络编程基础概念 发送端与接受端 请求与响应 客户端与服务器 常见的客户端服务器模型 Socket套接字 回显(echo)程序 UDP版的回显程序 服务器代码 客户端代码 结果 TCP版的回显程序 服务器代码 客户端代码 结果 网络编程基础概念 网络编程,指网…

2.5|物联网应用系统设计|复习提纲|提问背诵

基础概念总结掌握Linux常用的基本命令功能、语法结构,用法等。具体命令参考实验指导书、相关PPT等资料内容。什么是操作系统(OS)?操作系统是用以控制和管理计算机系统资源,方便用户使用的程序和数据结构的集合。在所有…

零基础学习Python的一点建议

Python语言的火爆程度,真的是超过了任何一门计算机语言,当然火爆程度里面含有赶上了人工智能这个领域的风口,但是大部分的原因是Python易学,语法对小白非常友好,总结一句话,Python语言能做很多事情&#xf…

亿级高并发电商项目-- 实战篇 --万达商城项目 六(编写角色管理、用户权限(Spring Security认证授权)、管理员管理等模块)

专栏:高并发---前后端分布式 👏作者简介:大家好,我是小童,Java开发工程师,CSDN博客博主,Java领域新星创作者 📕系列专栏:前端、Java、Java中间件大全、微信小程序、微信…

使用nvm管理node

nvm介紹 node的版本管理器,可以方便地安装&切换不同版本的node 我们在工作中,可以会有老版本的node的项目需要维护,也可能有新版本的node的项目需要开发,如果只有一个node版本的话将会很麻烦,nvm可以解决我们的难点…

node 拉取github开源漏洞

我们可以通过github的open api 来拉取一些信息。这里主要是拉取 github 开源漏洞中的漏洞信息 Github Explorer github Explorer 是一个在线工具,登录之后,我们可以在左侧输入GraphQL 查询语句,之后就可以查询相关的信息。例如:…

B树和B+树,红黑树作为索引的区别

索引是一种数据结构,帮助我们在mysql表中更高效获取数据的数据结构 常用作为索引的数据结构:二叉树,红黑树,Hash表,B树,B树 下面的数据表中有两个字段,第一个字段是col1,第二个字段…

如何在Qt中设置背景图片,且不覆盖其它控件

正常情况,我们直接通过在样式表里设置背景图片会出现背景图片覆盖其它控件的情况,比如下面操作: 首先右击空白处,点击改变样式表。 然后选择background-image 然后点击铅笔图标 之后我们要先添加前缀,也就是我们…

使用 Three.js 后处理的粗略铅笔画效果

本文使用Three.js的后处理创建粗略的铅笔画效果。我们将完成创建自定义后处理渲染通道、在 WebGL中实现边缘检测、将法线缓冲区重新渲染到渲染目标以及使用生成和导入的纹理调整最终结果的步骤。翻译自Codrops,有改动。 Three.js 中的后处理 Three.js中的后处理是一…

1.9 实践项目——爬取学生信息

1. 项目简介设计一个 Web 服务器 server.py,它读取 students.txt 文件中的学生数据,以表格的形式呈现在网页上,其中 students.txt 的格式如下:No,Name,Gender,Age1001,张三,男,201002,李四,女,191003,王五,男,21设计一个客户端的爬…

【Junit5】就这篇,带你从入门到进阶

目录 前言 1.前置工作 2、注解 2、断言(Assertions类) 2.1、断言 匹配/不匹配 2.2、断言结果 为真/为假 2.3、断言结果 为空/不为空 3、用例的执行顺序 3.1、用例执行顺序是怎样的? 3.2、通过order注解来排序 4、参数化 4.1、单…

Firefox 110, Chrome 110, Chromium 110 官网离线下载 (macOS, Linux, Windows)

Mozilla Firefox, Google Chrome, Chromium, Apple Safari 请访问原文链接:https://sysin.org/blog/chrome-firefox-download/,查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org 天下只剩三种(主流&am…

feign技巧 - form方式传值

feign技巧 - form方式传值。 0. 文章目录1. 前言2. 调用样例3. 原理解析3.1 feign端序列化参数3.2 SpringMVC服务端解析参数3.3 补充 - 继承关系不会被传递的原因3.4 补充 - 不能使用GET。4. 总结1. 前言 直接正题。 如何使用feign进行fom表单方式的请求调用,以及其…

leaflet 上传KMZ文件,并在map上显示(062)

第062个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中本地上传包kmz文件,解析并在地图上显示图形。在制作本示例的过程中,还有点缺憾,就是kmz中的图片文件没有在jszip中处理好,只能先解压缩后,将图片文件放到public/文件加下,暂时留一个遗憾点,以后再做…

又发现一个ChatGPT体验站,辅助写代码真方便

♥️ 作者:Hann Yang ♥️ 主页:CSDN主页 ♥️ 2022博客之星Top58,原力榜Top10/作者周榜Top13 ♥️ “抢走你工作的不会是 AI ,而是先掌握 AI 能力的人” ChatGPT 美国OpenAI研发的聊天机器人程序,于2022年11月30日发…

【刷题笔记】--两数之和Ⅳ,从二叉树中找出两数之和

法一:深度搜索中序遍历双指针 思路:通过中序遍历二叉树得到一个递增的数列,再在这个递增的二叉树中找到这两数。 主要学到双指针这个方法。 对于一般数列,我们要找到两数满足其之和等于目标数,我们一般会进行暴力&a…

C++请求SpringBoot的接口问题记录

问题描述最近忙一个小东西,遇到一个很有意思的问题,记录一下。 需求非常简单,就是java侧提供一个接口给C侧调用。 接口按照业务规范提供出来了,在postman中请求一下,出入参都正常。 关于这个接口请求方式为postJson方式…

C++:提高篇: 栈-寄存器和函数状态:栈指针帧指针详解

栈指针和帧指针前言1、EBP和ESP详解2、push ,leave ,call汇编指令分析3、下面用一个图总结前言 🚗🚗🚗:在刚接触 ESP和EBP概念时,我一直认为:ESP指向栈顶指针,EBP指向栈…