使用Pandas解决数据处理问题

今天星期天,突然接到朋友电话需要帮忙解决数据处理问题。今天要求解的问题,听起来很简单,就是将数据【姓名、日期、金额】中同一个人日期排最后的那一笔数据筛选出来。

最开始使用的是excel处理,使用文心一言帮忙,给出的方案是:
{MAX( IF(姓名列=当前姓名,日期列) )},结果准确。

使用Pandas也进行了一次尝试,果然是python强大,使用更简单的语句就解决了问题。
import pandas as pd # 读取CSV文件
df = pd.read_xls('data.xlsx') # 按照身份证号和支付日期排序
df = df.sort_values(by=['姓名', '日期']) # 根据身份证号分组,并选择每个组的最后一行数据
df = df.groupby('姓名').last().reset_index() # 保存结果到Excel文件
df.to_excel('result.xlsx', index=False)

WEB3.0的一些概念

最近有一个概念很热门,那就是WEB3.0,顾名思义就是第三代互联网。第一代互联网,主要是内容发布型网站,通过网站展示内容,访客只能阅读网站提供的内容;第二代互联网,是指社交类型的网站,任何人都可以在网站上发布信息,发表看法,就像现在非常流行的Facebook、Twitter等,对于这类网站来说,其内容是由用户产生的,而且数据量巨大。

第三代互联网则是跟近些年流行的区块链和虚拟货币紧密结合的技术 ,更强调用户对网站数据和信息的自主权,就是去中心化的互联网,人人都可以发布信息。

2021年我国老年人方面的数据

年初国新办公布了我国2021年我国人口数据,其中总人口数是141260万人,全年出生人口1062万人,相对于2020年末净增加48万人。按年龄段区分,16-59岁的劳动年龄人口88222万人,占全国人口的比重为62.5%;60岁及以上人口26736万人,占全国人口的18.9%,其中65岁及以上人口20056万人,占全国人口的14.2%。

根据联合国的划分标准,当一国60岁及以上人口比例超过10%或者65岁及以上人口比例超过7%,则认为该国进入“老龄化”社会;当这两个指标翻番(即60岁及以上人口比例超过20%或65岁及以上人口比例超过14%)的时候,则认为该国进入“老龄”社会,也可以说是“中度老龄化”社会。

关于老马识途的思考

马克思主义哲学讲到直接经验和间接经验是人们获得知识的两条途径,两者是“源”与“流”的关系。很多人学到的知识都是间接经验,是从别人直接经验的基础上获取的。一个人的时间、经历有限,不可能所有东西都要去直接实践以获得知识,很多时候,还是要学习别人,从别人那里获得有用的信息。管仲和隰朋都是非常聪明的人,但是迷路了需要让老马认路,找不见水源了需要通过蚂蚁寻找水源,可见遇到不懂的问题,一定要向别人学习。

【典故】管仲、隰朋跟随齐桓公去讨伐孤竹国,春季出征,冬季返回,迷失了道路。管仲说:“老马的才智可以利用。”就放开老马前行,大家跟随在后,于是找到了路。走到山里没有水喝,隰朋说:“蚂蚁冬天住在山的南面,夏天住在山的北面。地上蚁封有一寸高的话,地下八尺深的地方就会有水。”于是掘地,结果找到了水。凭管仲的智慧和隰朋的聪明,碰到他们不知道的,不惜向老马和蚂蚁学习;现在的人不知道用他们的愚蠢之心去向圣人的智慧学习,不是失误了吗?

 

关于子圉推荐孔子的思考

相传晋平公在位时,平公让祁黄羊推举一位南阳县令,祁黄羊却推举了仇人解狐。平公又请祁黄羊推荐一位军中尉,祁黄羊推荐了自己的儿子祁午。结果解狐和祁午工作都干得不错,祁黄羊也由此成了千古以来内举不避亲,外举不避仇的典范。

举贤荐能是一件复杂的事情,即关系到以后推荐对象能不能做好工作,也关系到自己的切身利益。像祁黄羊那样完全出于公心,需要有很高的觉悟,更多地情况下,还是多多少少考虑自身利益的。《韩非子·说林上》中讲到了子圉推荐孔子的故事,最终因为孔子太优秀了,怕推荐后遮住了自己的光芒,而放弃推荐。

【原文】子圉见孔子于商太宰。孔子出,子圉入,请问客。太宰曰:”吾已见孔子,则视子犹蚤虱之细者也。吾今见之于君。”子圉恐孔子贵于君也,因谓太宰曰:”君已见孔子,亦将视子犹蚤虱也。”太宰因弗复见也。

【翻译】子圉把孔子引见给宋国太宰。孔子走后,子圉进来,询问太宰对孔子的看法。太宰说:“我见过孔子之后,再看你就像渺小的跳蚤虱子一样了。我现在就把他引见给君主。”子圉怕孔子被君主看重,因而告诉太宰说:“君主见过孔子后,也会把你看作如同跳蚤虱子一般了。”于是太宰不再向宋君引见孔子。

个人养老金制度学习笔记

为推进多层次、多支柱养老保险体系建设,促进养老保险制度可持续发展,满足人民群众日益增长的多样化养老保险需要,国务院发布了《关于推动个人养老金发展的意见》(国办发〔2022〕7号)。个人养老保险制度,可以自愿参加,购买符合条件的金融产品实现养老金的保值增值,是对基本养老制度、企业年金制度的补充。

参加范围:在中国境内参加城镇职工基本养老保险或者城乡居民基本养老保险的劳动者,可以参加个人养老金制度。

制度模式一是个人养老金实行个人账户制度,缴费完全由参加人个人承担,实行完全积累;二是个人养老账户,可以享受税收优惠政策;三是参加人可以用缴纳的个人养老金在符合规定的金融机构或者其依法合规委托的销售渠道购买金融产品,并承担相应的风险;四是该养老账号封闭运行,不得提前支取;

缴费水平:参加人每年缴纳个人养老金的上限为12000元。

windows系统C盘满了如何扩容

电脑一直使用的是win7系统,最近遇到了一个问题,C盘满了,无论打开什么应用,甚至使用word或excel都会提示磁盘满了,要清理空间。不知合适windows系统占用的空间越来越大了,记得第一台笔记本C盘分区只有10G,使用xp一点问题都没有,现在win7系统,C盘分配40G都不够用了。

实在没有什么软件可以卸载了,于是想到了对C盘扩容。第一次尝试,用系统自带的磁盘管理器,计划将D盘删除分区,然后分配给C盘,但是尝试失败,在给C盘扩展的时候,选项是灰色的。第二次尝试,使用第三方分区工具,经过搜索了解到一款分区工具“奥梅分区助手”,首先将D盘调整分区,缩小;然后调整C盘的分区,扩大到刚才D盘缩小的空间。

通过“奥梅分区助手”成功进行了分区,执行之后重启,C盘扩展到了100G,再也不用对C盘满了发愁了。

CSV双字符分隔符数据导入数据库的尝试

CSV是逗号分隔符文件,各列数据使用逗号作为分隔符,通用性较强,无论是记事本、EXCEL、各种文本处理工具或者数据库都能处理。曾经遇到过这样的问题,将某CSV文件数据导入数据库处理,该CSV文件分隔符不是逗号,而是两个字符||,为了解决这个问题,进行了一些尝试,成功导入了数据库。现对这些方法进行记录,以供以后使用。

一、该CSV原始数据的特点

接触到的CSV数据是从其他数据库导出的,各列使用双字符||作为分隔符,第一行为标题,但是导出设置应该有问题,例如空列没有任何标记,也就是说存在||||两次分隔符相连的情况,不太规范。

因此最开始尝试用EXCEL打开数据,先看看整体情况时,如果可行的话,将该EXCEL数据直接导入数据库,此方法尝试失败。EXCEL数据分列时有选项“连续分隔符作为单个处理”,由于数据中空列没有任何标记,将连续分隔符作为单个处理显然行不通,会把连续4个、6个、8个等等视为一个。

二、将双分隔符替换成单字符

之后,尝试了一种新方法,将双字符整体替换成单字符,这样直接导入数据库就不存在问题了。计划将分隔符替换成逗号,首先在整个CSV文件中查询不存在逗号,替换掉之后,数据完全变成了逗号分隔符文件,该方法成功。

三、先创建表结构再导入

数据库使用的是MariaDb,客户端是系统自带的HeidiSql,导入CSV数据时,能自动识别标题和数据。其实,在尝试上面的方法时,想过直接导入数据库,分隔符输入||,但是不知为何一直出错。如果使用上面的方法,将数据变成逗号分隔符文件,再直接导入数据库,不存在什么问题。

但是,如果数据量比较大,无法替换成常见的单字符时,如何解决?所以还是要想一个终极解决办法。经过尝试,先在数据库中建立表结构,然后导入CSV数据,并将分隔符输入||,成功导入。注意,前面尝试过直接导入CSV,自动识别标题,失败了。这次能成功,是因为提前建立了表结构。

一次较大规模数据处理的经历 EXCEL版

前一段时间写了一篇文章《一次较大规模数据处理的经历 PYTHON版》,尝试使用PYTHON和PANDAS解决较大规模数据的计算问题,近百万条数据如果使用EXCEL处理,速度比较慢,而且对于复杂的计算,还需要借助VBA程序,因此上次使用了PYTHON。但是EXCEL的优点不容忽视,比如简单直观,能够快速筛选、汇总等等,最终生成报表还得使用EXCEL,此次打算用EXCEL重新处理一遍数据,并寻找合适的方法避免EXCEL的缺点,使得EXCEL能够快速地处理较大规模的数据。

接之前的问题,数据规模在百万条,CSV格式,需要对数据进行计算,根据前三列数据的不同,公式分成四组,均类似于电费的阶梯电价计算方案,只不过具体标准不一样,【问题一】需要计算最终值;【问题二】后面还提出了一种探索的算法,即计算公式增加“次数”的条件,每一次的计算公式又不一样。

【问题一】针对该问题,最初使用if嵌套公式,发现嵌套起来复杂,而且复制公式时,机器非常卡,即使关闭了自动计算亦是如此。于是决定使用VBA编写程序解决,分为两部分:一是分段计算函数;二是调用的主函数。解决问题的思路是通过VBA计算数据,此时表中的数据结果是静态的,没有任何公式,因此避免了卡顿的问题。 继续阅读一次较大规模数据处理的经历 EXCEL版

各地惠民保承保政策搜集

“惠民保”是近些年非常火热的一种保险产品,其特点是保费低、保额高、不限年龄,而且没有健康告知。普通的健康保险,都有健康告知,身体有毛病已经存在问题就无法投保,“惠民保”满足了这类人员的保险需求,可以说“惠民保”有一定的普惠性质。“惠民保”在每个地方的保费标准、承保方案都不一样,因此本篇文章将搜集各种“惠民保”政策。

1.  “惠蒙保”

承保公司:中国人民财产保险股份有限公司内蒙古分公司;
技术支持:北京圆心惠保科技有限公司;
经纪公司:鲲鹏保险经纪(海南)有限公司;
保费标准:86元/年;
承保人群:只要是内蒙古自治区及所辖各盟市的基本医疗保险在保状态的参保人员均能参加。包括城镇职工基本医疗保险、城乡居民基本医疗保险的参保人员。
承保条件:不限年龄,不限职业,不限健康状况,没有等待期,均可自愿参加。

承保方案:3个100万元

一是基本医疗保险范围内自付住院医疗费用责任:
保险期间内,被保险人因意外或疾病,在指定医疗机构诊断并接受住院治疗、检查,因此支出的必须且合理的、符合基本医疗保险范围内的医疗费用(不含门诊慢性病),经基本医疗保险补偿后的部分,扣除1.5万元免赔额后,按80%比例报销,最高赔付100万元。

二是基本医疗保险范围外自费住院医疗费用责任:
保险期间内,被保险人因意外或疾病,在指定医疗机构诊断并接受住院治疗、检查,因此支出的必须且合理的、基本医疗保险范围外的医疗费用(包括乙类个人自付,丙类自费及其他个人自费医疗费),扣除1.5万元免赔额后,按40%比例报销,最高赔付100万元。

三是特定药品医疗费用保障责任:
被保险人在指定医疗机构的专科医生诊断并开具处方,在约定的医院、药店购买并使用特定药品(包括国内30种+国外20种),因此支出的必须且合理的特定药品费用,按80%比例报销(其中既往症按20%比例报销),最高赔付100万元。 继续阅读各地惠民保承保政策搜集

遵循内心的良知,便能够宁静于内、无敌于外。