首页 > 解决方案 > 如何与熊猫一起跨越时间?

问题描述

假设我有以下数据框:

    year  value
0   2000      0
1   2001      0
2   2002      3
3   2003      5
4   2004      1
5   2005      0
6   2006      4
7   2007      3
8   2008      0
9   2009      0
10  2010      2
11  2011      0

跨时间链接价值列的最佳方式是什么?因此,我的意思是原始数据框中的值为零,它们应该是:

  1. 当它们落在两个正值之间时线性插值
  2. 如果它们确实落在两个正值之内,则给出下/上正边界的值。

所以这应该给出以下数据框:

    year  value
0   2000   3.00
1   2001   3.00
2   2002   3.00
3   2003   5.00
4   2004   1.00
5   2005   2.50
6   2006   4.00
7   2007   3.00
8   2008   2.66
9   2009   2.33
10  2010   2.00
11  2011   2.00

有没有一种聪明的方法来设置它,所以你得到正确的结果,不管你有多少个零,也不管下/上正值在哪里?我想在循环中使用这个函数,所以它需要处理不同的值组合。

标签: pythonpandasnumpyinterpolation

解决方案


推荐阅读