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

news2025/1/16 0:53:21

背景需求:

上一篇计算了教职工的姓氏谁最多,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] += 1
    else:
        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] += 1
    else:
        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.coloradmin.cn/o/387622.html

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

相关文章

DevOps践行

DevOps 是开发 (Dev) 和运营 (Ops) 的复合词,它将人、流程和技术结合起来,不断地为客户提供价值。 DevOps 对团队意味着什么? DevOps 使以前孤立的角色(开发、IT 运营、质量工程和安全)可以协调和协作,以生…

二次封装element plus (el-select-v2远程搜索组件)

根据项目需求,需要给每个对应的搜索字段进行 远程搜索项目中有跟多地方都需要使用,所以进行二次封装会很方便.创建一个ElSelectV2文件夹> index.vue<template><div><el-select-v2v-model"valueName"filterableremote:remote-method"remoteMet…

tomcat启动流程以及线程池配置

一、启动流程 二、 线程池配置 Tomcat的maxConnections、maxThreads、acceptCount三大配置&#xff0c;分别表示最大连接数&#xff0c;最大线程数、最大的等待数&#xff0c;可以通过application.yml配置文件来改变这个三个值&#xff0c;一个标准的示例如下&#xff1a; se…

Linq的底层原理探讨

前言有一篇文章ABP-引入SqlSugar很多人都在催促我&#xff0c;出下一章因为工作忙一直没写。现在开第二节课Linq的底层原理探讨。一起探讨完&#xff0c;看看有没有引起SqlSugar的新思路。这文章叫linq的底层原理。从哪里开始说呢&#xff1f;Linq To SQL、Linq To Objects、Li…

计算机的学习路线

本文是介绍如何成为一个Geek&#xff0c;一个真正的计算机高手。 适合有成为IT领域技术大牛的人参考。 写给大一新生和所有向深耕IT领域的人&#xff0c;避免走一些弯路。 第一门入门的必备功课-语法与算法 什么是计算机&#xff1f; 用来做运算的机器 电子计算机在运算方面…

[1.3_1]计算机系统概述——操作系统的运行机制

文章目录第一章 计算机系统概述操作系统的运行机制前提知识&#xff1a;程序是如何运行的内核程序与应用程序特权指令与非特权指令内核态与用户态小结第一章 计算机系统概述 操作系统的运行机制 操作系统的运行机制&#xff0c;也就是操作系统在计算机上是怎样运行的问题。 操…

Go语言的条件控制语句及循环语句的学习笔记

一、Go的条件控制语句 Go 语言提供了以下几种条件判断语句&#xff1a; 语句描述if 语句if 语句 由一个布尔表达式后紧跟一个或多个语句组成。if…else 语句if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。if 嵌套语句你可以在 if 或…

C++概览:工具链、基础知识、进阶及总结

本篇写给C初学者&#xff0c;作为概览&#xff0c;文中仅包含各方面基础知识&#xff0c;无深入分析。 C基础概念简介 C编译过程示意图 关键词&#xff1a;源文件、预编译、编译、汇编、链接 C工具链总结 cmake项目工程文件是一种中介工程文件&#xff0c;可以转化成其他…

Python+Qt指纹录入识别考勤系统

PythonQt指纹录入识别考勤系统如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01;前言这篇博客针对<<PythonQt指纹录入识别考勤系统>>编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读。 学…

如何在 OpenEuler 系统中安装 Docker

Docker 是一种流行的开源容器化平台&#xff0c;它能够将应用程序与其依赖项打包成可移植的容器&#xff0c;从而简化了应用程序的部署和管理。本文将介绍在 OpenEuler 系统中安装 Docker 并使用 Docker 容器控制 5G 模块的具体步骤。 安装 Docker 安装 Docker 的具体步骤如下…

react动态路由组件的封装

react动态路由组件的封装 我这篇比较全面 首先下载包 npm i react-router-dom5 这里为什么要用5的版本为啥不用最新的&#xff0c;原因在于老版本跟新版本写法不一样 老版本 import { HashRouter, Route, Switch, Redirect } from react-router-dom;render() {return (<Ha…

JavaEE——何为线程及创建线程

文章目录一、认识线程1. 线程的概念2. 出现多线程的原因3. 进程与线程4. 对多线程的详细解释二、初次实现多线程代码1. 初步了解2. 使用 Java 中的工具查看当前的所有线程3. Java 中创建线程的多种方式一、认识线程 1. 线程的概念 所谓线程&#xff0c;就是指在一个 ‘执行流…

机器学习、数据挖掘和统计模式识别学习(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 机器学习是让计算机在没有明确编程的情况下采取行动的科学。在过去的十年中&#xff0c;机器学习为我们提供了自动驾驶汽车&…

【2021.12.25】xv6系统入门学习

【2021.12.28】为xv6系统添加一个开机密码 文章目录【2021.12.28】为xv6系统添加一个开机密码0、说明1、Ubuntu20上安装xv62、测试指令3、修改系统代码4、添加自己的程序命令0、说明 xv6 是 MIT 设计的一个教学型操纵系统。 记录Ubuntu上安装x86版本的xv6系统&#xff0c;为其…

Acwing---843. n-皇后问题——DFS

n-皇后问题1.题目2.基本思想3.代码实现1.题目 n−皇后问题是指将 n 个皇后放在 nn 的国际象棋棋盘上&#xff0c;使得皇后不能相互攻击到&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n&#xff0c;请你输出所有的满足条件的棋子摆法。 …

ChatGPT介绍以及一些使用案例

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️&#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

AJAX 异步请求详细教程

文章目录AJAX 异步请求简介Jquery 版 Ajax$.ajax() -- Jquery提供的 ajax 函数注册验证用户名是否可用$.get() 与 $.post()Ajax 返回数据类型JSONjson 简介JSON 对象JSON 数组对象数组混合格式小结JSON 应用JSON 对象的使用JSON 数组的使用响应的 json 数组数组对象混合格式Jac…

八大排序算法之堆排序的实现+经典TopK问题

目录 一.堆元素的上下调整接口 1.前言 2.堆元素向上调整算法接口 3.堆元素向下调整算法接口 二.堆排序的实现 1.空间复杂度为O(N)的堆排序(以排升序为例) 思路分析: 代码实现: 排序测试: ​时空复杂度分析: 2. 空间复杂度为O(1)的堆排序(以排降序为例) 将数组arr调…

IGKBoard(imx6ull)-SPI接口编程-回环测试

文章目录1- 使能imx6ull开发板SPI驱动2- 回环测试imx6ull开发板物理连接3- 编程SPI回环测试4- 代码重难点分析&#xff08;1&#xff09;spi_device结构体&#xff08;2&#xff09;spi_ioc_transfer结构体&#xff08;3&#xff09;ioctl函数对于SIP不了解的可以参考这篇文章&…

GVRP-LNP-VCMP讲解

目录 GVRP讲解 动态创建Vlan并将端口加入Vlan GVRP消息类型 GVRP工作原理 LNP讲解 动态修改接口链路类型 VCMP讲解 动态创建Vlan 相关概念 Vlan同步 VCMP与GVRP的区别 GVRP讲解 动态创建Vlan并将端口加入Vlan GVRP&#xff08;GARR Vlan Registration Protocol&#xf…