按某一列统计重复数据,并获取对应行数据
文章目录
- 一、实现思路
- 二、实例分析
- 三、编写代码
- 四、写入文件
一、实现思路
读取文件–按列分组–获取对应行数据
二、实例分析
需求:按县统计人数,统计结果使用“省市县/区”描述,例如:
四川成都宜宾 | 20 |
---|---|
湖南长沙天心区 | 10 |
原表格如下:
省 | 市 | 县 | 人名 |
---|---|---|---|
四川 | 成都 | 宜宾 | 张旻1 |
四川 | 绵阳 | 三台 | 张旻2 |
浙江 | 宁波 | 北仑区 | 张旻3 |
浙江 | 宁波 | 海曙区 | 张旻4 |
湖南 | 长沙 | 天心区 | 张旻5 |
湖南 | 长沙 | 天心区 | 张旻6 |
四川 | 绵阳 | 三台 | 张旻7 |
四川 | 绵阳 | 三台 | 张旻8 |
四川 | 成都 | 崇州 | 张旻9 |
四川 | 成都 | 宜宾 | 张旻10 |
四川 | 成都 | 双流 | 张旻11 |
四川 | 成都 | 双流 | 张旻12 |
湖南 | 岳阳 | 平江 | 张旻13 |
湖南 | 岳阳 | 平江 | 张旻14 |
湖南 | 长沙 | 天心区 | 张旻15 |
湖南 | 长沙 | 天心区 | 张旻16 |
湖南 | 长沙 | 天心区 | 张旻17 |
浙江 | 宁波 | 海曙区 | 张旻18 |
浙江 | 宁波 | 海曙区 | 张旻19 |
浙江 | 宁波 | 北仑区 | 张旻20 |
浙江 | 宁波 | 北仑区 | 张旻21 |
湖南 | 长沙 | 天心区 | 张旻22 |
湖南 | 长沙 | 天心区 | 张旻23 |
三、编写代码
import pandas as pd
file_name = r'C:\Users\Administrator\Documents\tencent files\2528104776\filerecv\新建 Microsoft Excel 工作表.xlsx'
result = pd.read_excel(io = file_name,sheet_name=0)
t= result.groupby("县")
for i,o in t:first = o.iloc[0][:-1][0] #一级行索引second = o.iloc[0][:-1][1] #二级行索引third = o.iloc[0][:-1][2] #三级行索引print(first,second,third)print("按县/区级 统计人数:%s\n"%(len(o)))
输出结果如下:
四川 绵阳 三台
按县/区级 统计人数:3浙江 宁波 北仑区
按县/区级 统计人数:3四川 成都 双流
按县/区级 统计人数:2湖南 长沙 天心区
按县/区级 统计人数:7四川 成都 宜宾
按县/区级 统计人数:2四川 成都 崇州
按县/区级 统计人数:1湖南 岳阳 平江
按县/区级 统计人数:2浙江 宁波 海曙区
按县/区级 统计人数:3PS C:\Python文件夹>
四、写入文件
统计工作虽然已经好 但是需要将上面统计信息进行文本处理并写入Excel
首先需要新建一个字典用于装数据
第二将数据写入字典
第三将字典转换为DataFrame 类型,并调换行列索引写入文件
import pandas as pd
file_name = r'C:\Users\Administrator\Documents\tencent files\2528104776\filerecv\新建 Microsoft Excel 工作表.xlsx'
result = pd.read_excel(io = file_name,sheet_name=0)
t= result.groupby("县")data = {}
for i,o in t:first = o.iloc[0][:-1][0] #一级行索引second = o.iloc[0][:-1][1] #二级行索引third = o.iloc[0][:-1][2] #二级行索引data[first+second+third] = [len(o)]pd.DataFrame(data).T.to_excel('C:/Users/Administrator/Desktop/处理好的数据.xlsx')
注意:上述代码第11行写入字典的值必须是一个列表类型
写入文件后呈现结果:
按某一列统计重复数据,并获取对应行数据相关推荐
- Request —— 获取请求行数据 获取请求头数据 获取请求体数据
1. request对象和response对象的原理 1. request和response对象是由服务器创建的.我们来使用它们 2. request对象是来获取请求消息,respon ...
- Request_获取请求行数据_方法介绍
request功能: 1. 获取请求消息数据 1. 获取请求行数据 * GET /day14/demo1?name=zhangsan HTTP/1.1 ...
- V3.0element中table表格树形结构与懒加载通过接口获取展开行数据,并实现自动展开某行以及展开行数据删除,编辑,新增,展开行某些列不显示等功能
1.获取列表后自动展开第一行,以及列表序号的显示 需要展开哪行,就赋值 expandsId 某行id 值就行了 2.展开某行时通过接口获取子行数据,一般需求是通过父行的id,来获取他的子行数据--lo ...
- 【pandas】将单元格中的多个数据拆分为多行数据(explode),以csv文件为源文件进行处理
[pandas]将单元格中的多个数据拆分为多行数据(explode) 1.原始数据(test.csv) 2.需求 将"别名"."科目"这两列中带有多个数据的单元 ...
- 股票level2数据接口获取逐笔成交数据的过程
描述:通过股票level2数据接口获取逐笔成交数据的过程 地点:https://gitee.com/l2gogogo 获取过程: /// <summary> /// 获取逐笔成交数据 // ...
- 【easyui】easyui datagrid加载成功之后选定并获取首行数据
//加载成功之后,选定并获取首行数据 onLoadSuccess:function(data){ alert("grid加载成功");var rows=$('test').data ...
- mysql根据分隔符将一行数据拆分成多行数据
mysql根据分隔符将一行数据拆分成多行数据 文章目录 mysql根据分隔符将一行数据拆分成多行数据 关键函数 原始数据 处理结果展示 三种方式,相同的原理 使用MySql库中的自增序列表 自建自增序 ...
- 取出datatable的某一行_jquery dataTable 获取某行数据
jquery dataTable 获取某行数据 DataTable API table.row(rowSelector [,modifier]) 注table是dataTable的对象 该方法有两个默 ...
- MySQL中给数据表插入多行数据
有时因为测试需求,需要给某数据表中插入多行数据,所以自己就琢磨了一下,该过程实现涉及到了MySQL存储过程,想详细了解的可看下这个博客:MySQL存储过程,以下是具体的实现过程: 1.先创建一个表: ...
最新文章
- sl中几个简单变量的获取
- 从源码分析DEARGUI之add_text_point
- 总结H3CNE学习过程和其他
- 【c++】29.设计模式总结
- 推荐大赛如何在一周时间内打进决赛
- 阐述:SIP协议是什么
- 单片机控制小风扇马达c语言,模拟风扇控制电路(单片机C程序设计)
- mysql必知必会第一节
- 27款经典网站设计必备的CSS框架
- 线上CPU100%?看看这篇是怎么排查的!
- MySQL-数据操作-增删改查
- (转)《Billions》第二季回归,现实中的SAC也回来了
- 惠普局域网共享打印机设置_已解决: hp1106局域网共享打印机共享 - 惠普支持社区 - 817337...
- 网页打开QQ链接,进行临时会话
- 关于找不到www.jetbrains.com的服务器IP地址
- git clone 报 “remote: The project you were looking for could not be found.”
- 软件逆向工程学习(一)
- 如何使用Mac的媒体键在DisplayPort,HDMI或Thunderbolt监视器上调整扬声器音量
- 创造习惯 — 如何科学地养成习惯
- iris web框架无法加载静态文件
热门文章
- ERROR: Could not build wheels for numpy which use PEP 517 and cannot be installed directly
- 计算机论文致谢词范文500字,论文致谢词范文500字(精选6篇)
- 计算机磁盘在线分区,电脑硬盘分区几个最好?你还把电脑硬盘分成C、D、E、F盘吗?...
- MySQL的MHA高可用配置及故障切换
- 关于母亲节的c语言程序设计教程课后答案,《我的母亲》习题及参考答案
- Magento 数据表结构 EAV模型详解
- c# 调整图片分辨率
- 显卡 1050Ti pytorch 安装
- turtle.write方法使用说明
- linux执行一个可执行文件,不同Linux系统下同一个可执行文件执行有关问题