对于时间序列数据中的所有观测值,如何用前一个月的值替换最近一个月的值?

时间:2019-08-05 11:31:08

标签: python pandas dataframe

我正在使用python的Jupyter笔记本。

因此,有一个数据集包含所有观测值的每月数据(日志)。所有观察的最新记录表明它们的帐户已被停用。我想使用上个月(时间段)的值替换最后一个时间段。

为使问题形象化,下面是一个示例:

|id|age |level| time  |
|--|----|-----|-------|
| 1| 45 |  4  |2019-01|
| 1| 45 |  5  |2019-02|
| 1| 45 |  6  |2019-03|
| 1| 45 |  0  |2019-04|
| 2| 28 |  2  |2018-12|
| 2| 28 |  3  |2019-01|
| 2| 28 |  3  |2019-02|
| 2| 28 |  0  |2019-03|

我想将观察值1和2的级别0替换为其之前的值。但是最新级别不一定是0。

应该是:

|id|age |level| time  |
|--|----|-----|-------|
| 1| 45 |  4  |2019-01|
| 1| 45 |  5  |2019-02|
| 1| 45 |  6  |2019-03|
| 1| 45 |  6  |2019-04|
| 2| 28 |  2  |2018-12|
| 2| 28 |  3  |2019-01|
| 2| 28 |  3  |2019-02|
| 2| 28 |  3  |2019-03|

1 个答案:

答案 0 :(得分:0)

您可以逐个读取文件中的日期并创建日期时间对象。

之后您可以将日期时间对象的时间间隔与以下内容进行比较:

start_date_interval <= date_of_dataset <= end_date_interval

如果该语句返回true,则可以从文件中提取数据并继续进行计算。

顺便说一句:您的问题和说明在阅读时有所不同。因此,如果问题不同,很难给出正确的答案。