怎么剔除掉六十岁(退休)以上的人(python自动化办公)

怎么剔除掉六十岁(退休)以上的人(python自动化办公)

需求分析:

python 复制代码
1.本代码的要求是从表1中根据姓名合并表2
2.删除掉为空的人数 ,后面再合并
3.表格内的19971111,所以首先需要得到年份
4.找出大于60岁的名单,输出名单,并删除掉60岁以上的人员

代码:

python 复制代码
    def get_le_six(self):
        # 读取两份表格文件
        table1 = pd.read_excel("coding_3.xlsx", sheet_name='Sheet1')  # 第一份表格
        table2 = pd.read_excel("coding_3.xlsx", sheet_name='Sheet2')  # 第二份表格

        # 合并两份表格,保留第一份表格的所有信息
        merged_table = pd.merge(table1, table2, on='姓名', how='left')

        # 找出匹配为空的行
        missing_matches = merged_table[merged_table['出生日期'].isna()]

        # 删除匹配为空的行
        merged_table = merged_table.dropna(subset=['出生日期'])

        # 根据出生日期计算每个人的年龄
        current_year = 2023
        merged_table['出生日期'] = merged_table['出生日期'].astype(str)
        merged_table['年龄'] = current_year - merged_table['出生日期'].str[:4].astype(int)
        # 找出大于六十岁的人名单
        older_than_sixty = merged_table[merged_table['年龄'] > 60]['姓名']

        # 打印大于六十岁的人名单
        print("大于六十岁的人名单:")
        print(older_than_sixty)

        # 从新表格中删除大于六十岁的人
        merged_table = merged_table[merged_table['年龄'] <= 60]

        # 合并匹配为空的人的姓名信息
        result = pd.concat([missing_matches, merged_table])

        # 保存结果为表格文件
        result.to_excel("missing_names.xlsx", index=False)
        merged_table.to_excel("new_table.xlsx", index=False)

重要知识点

json 复制代码
isna()
作用:判断是否为空值,返回True或False
(1)反义函数:notna()
(2)与isnull()的用法相同
相关推荐
小白学大数据1 天前
Python爬虫实现无限滚动页面的自动点击与内容抓取
开发语言·爬虫·python·pandas
LilySesy3 天前
【SAP-MOM项目】二、接口对接(中)
开发语言·python·pandas·restful·sap·abap
qq_381454998 天前
Python Pandas完全指南:从核心数据结构到实战操作
pandas
TUTO_TUTO9 天前
【python-词汇指标提取工具开发】自学笔记(1)-后端程序
人工智能·python·pandas·visual studio code
葱明撅腚9 天前
shapely空间数据分析
python·pandas·gis·shapely
忘忧记10 天前
pandas基础三
pandas
叫我:松哥12 天前
基于scrapy的网易云音乐数据采集与分析设计实现
python·信息可视化·数据分析·beautifulsoup·numpy·pandas
测试摆渡媛12 天前
Excel模板填充工具(工具&脚本分享)
python·数据挖掘·pandas
_Soy_Milk12 天前
【算法工程师】—— Python 数据分析
python·数据分析·numpy·pandas·matplotlib
Data-Miner13 天前
类似Pandas AI的几个数据分析处理智能体介绍
人工智能·数据分析·pandas