简单问题还是得简单处理

今天做了个数据整理的事,本来任务很简单,就是将某公司的利润表中的数据进行一下处理,只需要每一年年末的公报中的数据,其他的不要的都删掉,目的是观察一下该公司的运营情况。
基本数据导入后如图:
在这里插入图片描述
可以发现,公司会在不同时期发布公报,而且经常是一个日期有几条数据,但在重要指标上又基本相同,我的目标是只要每年12月31日的一条数据即可,没想到绕了一大圈最后还是简单处理了。
问题出在这个日期上,常见的日期格式是xxxx-xx-xx,年-月-日的形式,中间有个分隔符,可这个日期数据就是个数字,不是日期,于是倒腾了半天用日期的相关方式处理,怎么都弄不了,最后干脆将数字变成字符串,用字符串来处理了。
首先,按日期进行分组,只保留其中序号最大的:

dt1=dt1.loc[dt1.groupby('end_date')['end_date'].idxmax()]

在这里插入图片描述
可以看到数据中仍然存在日期不是12月31日那天的数据,其他重复数据已经全部删除掉了,接着再删掉那些日期不是12月31日的数据。
但发现因删除数据,导致索引已经被破坏了,于是先重建索引

dt1.index=range(0,len(dt1))

再删除数据

for i in range(len(dt1)):
    if str(dt1.loc[i].end_date)[4:]!='1231':
        dt1.drop(i,inplace=True)
dt1

这里就用了个字符串处理,唉,没想到如此无语
最后就拿到了这个公司从13年至20年的全部利润表基本数据:
在这里插入图片描述
看来脑子有时候还是要转转弯的,不要想得太复杂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值