Python 代码之 养老保险 个人缴费指数计算工具,3秒计算。

一颗大白菜9个月前我的技能394

演示代码不做最终输出效果。

import pandas as pd
import matplotlib.pyplot as plt
from tkinter import messagebox

# 假设社会平均工资数据如下:
social_avg_wages = {
    '2012': 4700,
    '2013': 5000,
    '2014': 5370,
    '2015': 5738,
    '2016': 6122,
    '2023': 7500,
    '2024': 8000,
}

}

# 读取Excel文件
try:
    df = pd.read_excel('个人缴费信息查询.xlsx')
except FileNotFoundError:
    messagebox.showerror("文件未找到", "请先保存好文件,再运行软件进行数据分析。")
    exit()

# 输出原始数据帧的信息
print(df.info())

# 提取个人缴费数据
personal_contributions = df[['对应费款所属期', '缴费基数']].copy()

# 提取年份
personal_contributions['年份'] = personal_contributions['对应费款所属期'].astype(str).str[:4]

# 计算每年的缴费指数
personal_contributions['缴费指数'] = personal_contributions.apply(
    lambda row: row['缴费基数'] / social_avg_wages[row['年份']] if row['年份'] in social_avg_wages else None, axis=1
)

# 过滤掉无效的行(即没有缴费指数的行)
personal_contributions = personal_contributions.dropna(subset=['缴费指数'])

# 输出处理后的数据帧的信息
print(personal_contributions.info())

# 按年份分组求和
yearly_contributions = personal_contributions.groupby('年份')['缴费指数'].sum().reset_index()

# 输出按年份分组后的数据帧的信息
print(yearly_contributions.info())

# 计算总的缴费年限
total_years = len(yearly_contributions)

# 如果总缴费年限为0,则打印错误信息
if total_years == 0:
    messagebox.showerror("数据问题", "没有有效的缴费记录,请检查数据。")
else:
    # 计算个人缴费指数
    personal_contribution_index = yearly_contributions['缴费指数'].sum() / total_years
    personal_contribution_index_rounded = round(personal_contribution_index, 2)

    print(f"个人缴费指数: {personal_contribution_index_rounded}")

    # 设置字体
    plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
    plt.rcParams['axes.unicode_minus'] = False

    # 可视化
    fig = plt.figure(figsize=(10, 5))
    plt.bar(yearly_contributions['年份'], yearly_contributions['缴费指数'])
    plt.axhline(y=personal_contribution_index_rounded, color='r', linestyle='-', label=f'个人缴费指数={personal_contribution_index_rounded}')
    plt.title('指数计算器')
    plt.xlabel('年份')
    plt.ylabel('缴费指数')
    plt.legend()

    # 显示图表
    plt.show()


image.png


前提条件,个人登录社保账户导出个人全部缴费明细,表格名为:“个人缴费信息查询.xlsx”,保存在桌面即可。使用原始表格不需要任何改动。
复制代码保存文件名随意放置到桌面,我这里使用的“指数计算.py”。运行Py,F5热键,即可。


免责声明
如果您对本文有异议,请先阅读本站《免责声明》,如仍保持您个人观点可与本人联系。

相关文章

IC卡ID卡简介【M1/S50,UID,CUID,FUID,UFUID和ID复制卡介绍】

IC卡ID卡简介【M1/S50,UID,CUID,FUID,UFUID和ID复制卡介绍】

ID卡定义:ID卡一般只有一个卡号,没有数据扇区,一般ID卡是没有加密的,可以直接复制。常见的ID卡频率为125KHz,还有偏频:250KHz、375KHz、500KHz等等不多见。IC卡定义:我们称...

总体而言,在一定程度上反映了未来招聘求职的一种趋势。

随着人工智能技术的不断发展和普及,在未来的招聘求职中,对 AI 有一定的了解很可能会成为一种普遍的要求,就如同在 90 年代会打字、做基础表格对于求职者来说是基本技能一样。如今,AI 已经在各个领域展...

延迟退休计算器 法定退休年龄计算器 (无出生年月限制,可计算00后、10后数据)

说明:改革后法定退休年龄:男性高于63岁,按照63岁计算。女职工(工人):原50,现在上限55周岁,(管理)原58,现在上线58周岁。当年最低缴费年限:20年 按目前政策 高于20年,按20年计算。...

分享 PDF电子发票数据提取至Excel

分享 PDF电子发票数据提取至Excel

PDF电子发票数据提取至Excel:支持电子发票和数电发票,不支持图片和图片形式的PDF,不支持OFD使用场景:1、避免电子发票重复报销入账(筛选发票号码或者校验码重复值)2、检查收到的发票纳税人名称...

2024年8月29日 星期四 别惹美女,小心她疯起来要你命!

  不得不说高旻示演技真的好牛!...

运维平台报修系统详细流程与数据统计

一、报修人下单报修人登录运维平台报修系统,进入报修申请页面。系统通过身份验证(如账号密码、手机号验证码等方式)确保报修信息的可追溯性。设备类型选择:报修人首先从预设的设备分类中选择,包括风冷水电器、信...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

服务热线

18686626826

微信客服

微信客服

2025年度企业稳岗补贴公式查询系统
吉林省企业职工退休养老金智能核算与服务系统
×