需求场景:

A股上市公司中,某些公司在某个年度执行了某种政策并延续至今,当只知道这些公司的开始时间时,需要根据企业和年度进行向下填充。

数据示例

上图所示,id是企业id,date是年度,x表示已实施政策。需要将政策按照企业和时间一直延续至最新时间。

命令

方法一

# 排序
sort id date
根据id 和 时间 进行向下填充
by id (date): carryforward x, gen(z)
replace z =0 if z ==.

效果

方法二

bys id (date):replace x=1 if x[_n-1]==1

相比写python是要方便很多

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐