我有一个数据集,看起来如下-
| year | state | election year 1-yes|
|---------------|-------------|--------------------|
| 2010 | haryana | 1 |
| 2010 | haryana | 1 |
| 2010 | up | 0 |
| 2011 | goa | 1 |
| 2012 | haryana | 0 |
| 2012 | up | 1 |
| 2013 | up | 0 |
| 2013 | up | 0 |
| 2013 | haryana | 1 |
| 2015 | haryana | 0 |
| 2015 | up | 0 |
哈里亚纳邦在2010年有选举,所以是1,但是果阿邦及以上的邦在2010年没有选举,所以选举年是0。
我想要一个循环,它可以添加另一个列,告诉到下次选举的年数。所以,当哈里亚纳邦在2010年举行选举时,它将是0(因为选举只安排在今年),而在2012年,它将是3,因为下次选举是在2015年。所以,所需的列有一个范围从0到4的所有国家。
下表总结了我期望的输出。
| year | state | election year 1-yes| years until next election|
|------|--------|--------------------|--------------------------|
| 2010 |haryana | 1 | 0 |
| 2010 |haryana | 1 | 0 |
| 2010 | up | 0 | 2 |
| 2011 | goa | 1 | 0 |
| 2012 |haryana | 0 | 3 |
| 2012 | up | 1 | 0 |
| 2013 | up | 0 | 4 |
| 2013 | up | 0 | 4 |
| 2013 |haryana | 0 | 2 |
| 2015 |haryana | 1 | 0 |
| 2015 | up | 0 | 2 |
我正在寻找一个简单的代码循环的年份和国家,因为我的数据有超过30个国家和12年。
1条答案
按热度按时间tp5buhyn1#
示例
df
代码
df1
合并df和df1
实验结果: