当前位置: 首页 > news >正文

【办公类-19-01-02】办公中的思考——Python,统计教职工的姓名中那些字最多?

背景需求:

上一篇计算了教职工的姓氏谁最多,col[0]]

这一篇统计教职工的(姓氏+名字)里面哪些字出现最多。

材料准备:

1、下载所有员工名单

  1. 写代码。py

包含”姓氏+名字“的重字率统计

from pandas import DataFrame, Series
import pandas as pd
import numpy as np
import xlrd# 读取列
worksheet = xlrd.open_workbook(r'D:\test\02办公类\08姓氏最多的人\20230227上海市闵行区景谷第二幼儿园教职工列表 - 副本.xls')
sheet_names= worksheet.sheet_names()
print(sheet_names)for sheet_name in sheet_names:sheet = worksheet.sheet_by_name(sheet_name)rows = sheet.nrows # 获取行数cols = sheet.ncols # 获取列数,尽管没用到all_content = []cols = sheet.col_values(1) # 获取第二列内容, 数据格式为此数据的原有格式(原:字符串,读取:字符串;  原:浮点数, 读取:浮点数)print(cols[1:])print(cols[1:])print(type(cols[1]))    #查看数据类型# name_list = ["张三", "李四", "周瑜", "张三", "张三", "李四", "王五", "张飞", "张飞", "周瑜"]#提取第一个姓(目前没有复姓,所以都取第一个姓)
b = []
for i in cols[1:]:    # cols[1:]不要第一行的”教职工名字“# for c in i:   #在所有的名字中的第1-4个字开始遍历(包括姓氏)for c in i[1:]:           # 在所有的名字中的第2个字开始遍历(不包括姓氏)print(c)b.append(c)
print(b)name_dict = {}
for name in b:# 取出字典中的所有keys值     key_list = name_dict.keys()# key_list = name_dict[0]# print(key_list)if name in key_list:name_dict[name] += 1else:name_dict[name] = 1# # 根据字典中的value值进行倒序排序name_dict = sorted(name_dict.items(), key=lambda item:item[1], reverse=True)
print(name_dict )d=[]
for c in range(0,len(name_dict)):aa=name_dict[c][0]bb=name_dict[c][1]print(aa,bb)

2、结果展示

问题:

我发现姓氏也在里面容易搞混,如果不需要姓氏,只计算名字的第2、3、4个字,怎么做?

微调加个取值范围即可,

不包含姓氏的”名“统计

from pandas import DataFrame, Series
import pandas as pd
import numpy as np
import xlrd# 读取列
worksheet = xlrd.open_workbook(r'D:\test\02办公类\08姓氏最多的人\20230227上海市闵行区景谷第二幼儿园教职工列表 - 副本.xls')
sheet_names= worksheet.sheet_names()
print(sheet_names)for sheet_name in sheet_names:sheet = worksheet.sheet_by_name(sheet_name)rows = sheet.nrows # 获取行数cols = sheet.ncols # 获取列数,尽管没用到all_content = []cols = sheet.col_values(1) # 获取第二列内容, 数据格式为此数据的原有格式(原:字符串,读取:字符串;  原:浮点数, 读取:浮点数)print(cols[1:])print(cols[1:])print(type(cols[1]))    #查看数据类型# name_list = ["张三", "李四", "周瑜", "张三", "张三", "李四", "王五", "张飞", "张飞", "周瑜"]#提取第一个姓(目前没有复姓,所以都取第一个姓)
b = []
for i in cols[1:]:    # cols[1:]不要第一行的”教职工名字“# for c in i:   #在所有的名字中的第1-4个字开始遍历(包括姓氏)for c in i[1:]:           # 在所有的名字中的第2个字开始遍历(不包括姓氏)print(c)b.append(c)
print(b)name_dict = {}
for name in b:# 取出字典中的所有keys值     key_list = name_dict.keys()# key_list = name_dict[0]# print(key_list)if name in key_list:name_dict[name] += 1else:name_dict[name] = 1# # 根据字典中的value值进行倒序排序name_dict = sorted(name_dict.items(), key=lambda item:item[1], reverse=True)
print(name_dict )d=[]
for c in range(0,len(name_dict)):aa=name_dict[c][0]bb=name_dict[c][1]print(aa,bb)

名字中出现

最多的是“红”12人,

其次是“美”6人

第三是“英”5人

“霞、爱、伟、丽”4人

“文、芳、华、丹、雯、萍、莲、莉、慧、梅”3人

一看名字就知道教工中的女性比例很高啊

同样对我班级孩子的名字进行统计(有重复率的如下)

欣3人,女孩

一3人,男孩

贝2人,女孩

天2人,女孩

颖2人,女孩

清2人,女孩

喆2人,男孩

博2人,男孩

每一届、每个班级的孩子都会有重名的字,“单个重复字”完全属于男孩、或者完全属于女孩的情况还是也是比较普遍的(名字的性别倾向性),以前也会有女孩用男孩的“轩”男孩用女孩的“琪”的情况。

http://www.lryc.cn/news/28844.html

相关文章:

  • HCIP实验1
  • 一个Bug让人类科技倒退几十年?
  • 2023王道考研数据结构笔记第四章串
  • 【AI绘图学习笔记】深度学习相关数学原理总结(持续更新)
  • CSGO服务器配置全贴纸插件方法教程
  • Python爬虫——使用socket模块进行图片下载
  • 通用游戏地图解决方案设计解析
  • java @Autowired @Resource @Inject 三个注解的区别
  • 「媒体分流直播」媒体直播和传统直播的区别,以及媒体直播的特点
  • 数据是如何在计算机中存储的
  • Day907.分区表 -MySQL实战
  • C++概览:工具链、基础知识、进阶及总结
  • 目标检测中回归损失函数(L1Loss,L2Loss,Smooth L1Loss,IOU,GIOU,DIOU,CIOU,EIOU,αIOU ,SIOU)
  • JOSN数据转换和解析
  • 浅析Linux内核中进程完全公平CFS调度
  • 安装 RustDesk 服务器 (适用 Rocky Linux, CentOS, RHEL 系列发行版)
  • 23种设计模式-策略模式
  • C#开发的OpenRA的游戏主界面怎么样创建
  • 考研还是工作?两战失败老道有话说
  • 引用是否有地址的讨论的
  • 1、JAVA 开发环境搭建 - JDK 的安装配置
  • 【Storm】【六】Storm 集成 Redis 详解
  • 算法代码题——模板
  • CentOS 7.9汇编语言版Hello World
  • CoreData数据库探索
  • FreeRTOS入门
  • JVM运行时数据区划分
  • 重装系统一半电脑蓝屏如何解决
  • SpringBoot(tedu)——day01——环境搭建
  • springboot整合redis