如何智能填充数据?

我有一个在特定时间点观察的数据集,但这些时间点(以及它们之间的时间长度)因组而异 . 我正在尝试“填充”数据,以便将现有观察结果转移到缺失的单元格中 . 但是我只想在原始观察之后对一定数量的行进行此操作 . 例如,我可以有一个如下所示的数据集:

对于A组,我想填写2002年的值与2001年的值,2004年与2003年等等 . 我根本不想填写2000年,因为我没有前面的值 . 而且我也不想填写2011年的 Value ,因为“cyclelength”变量告诉我A组的观察结果应该每两年进行一次,所以我不希望将数据传递过去 . 2011年只是一个真正缺失的 Value .

同样,在B组中,我希望将2000年的 Value 推进到2001年,2002年和2003年(因为这里的“周期长度”是4年) . 我想把2004年的 Value 带到2005年,2006年和2007年,但不会超过这个 - 晚年应该保持失踪 .

我已经尝试使用“carryforward”命令进行设置,但是没有想出如何在指定的年数后按组不同来停止填充 . 有没有办法做到这一点,无论是结转还是其他?

  • 这是自2000年以来作为常见问题记录的问题的变体:见

    变化在于限制复制非缺失值的程度 . 但它容易陷入同样的想法 .

    在某些年份记录了最后一个已知值,我们可以复制数据集:

    该陈述预设了前一陈述的 sort 顺序 .

    在Statalist()上,您需要记录 carryforward 是要从SSC安装的用户编写的命令 . 这也是一个很好的约定 .

    在实践中,良好的数据管理是保持原始数据的准确到达,并在变量的克隆上执行此操作 . 迟早有人会要求查看原始值,然后你可能会非常尴尬 .

我想提出一个这样的数据框:

其中空白项(例如header_10上面字典中的键)将收到None. 我尝试了许多品种,df.loc例如:

无济于事。当然,Pandas 中必须有一种快速的方法来追加行并自动增加索引?类似于INSERT INTO仅使用 pythonic 代码的 SQL 语句?



对空列表使用 dict 理解None,然后对元组列表使用扁平化:

关注本站官方公众号:程序员总部,领取三大福利! 福利一:python和前端辅导 福利二:进程序员交流微信群,专属于程序员的圈子 福利三:领取全套零基础视频教程(python,java,前端,php)
关注公众号回复python,免费领取,回复充值+你的账号,免费为您充值1000积分


我要回帖

更多关于 excel怎样智能填充 的文章

 

随机推荐