【发布时间】:2019-06-24 07:12:36
【问题描述】:
我有一些每月更新的零件的定价数据。它已被拉入熊猫数据框中。有时,某个零件在某个月份无法获得价格,在这种情况下,我想将其替换为该零件上个月的价格。
如果上个月也缺少该零件的价格,我想继续向后搜索,直到找到有效价格,在这种情况下,该价格应该向前传播,直到找到有效价格。
如果没有找到该部分的有效价格,那么我希望将这部分从数据框中完全删除。
如果前几个月的某个部分缺少价格,我想删除这些行,以便第一条记录始终是有效价格。
基本上我想在价格列上进行前向填充,但要考虑零件编号。
作为一个例子,我会从这样的事情开始:
part price date
1 NaN 2018-12-01 00:00:00.000
2 NaN 2018-12-01 00:00:00.000
3 99.16 2018-12-01 00:00:00.000
1 NaN 2018-11-01 00:00:00.000
2 NaN 2018-11-01 00:00:00.000
3 NaN 2018-11-01 00:00:00.000
1 67.32 2018-10-01 00:00:00.000
2 NaN 2018-10-01 00:00:00.000
3 167.34 2018-10-01 00:00:00.000
1 88.37 2018-09-01 00:00:00.000
2 NaN 2018-09-01 00:00:00.000
3 212.70 2018-09-01 00:00:00.000
1 88.37 2018-08-01 00:00:00.000
2 NaN 2018-08-01 00:00:00.000
3 NaN 2018-08-01 00:00:00.000
1 88.37 2018-07-01 00:00:00.000
2 NaN 2018-07-01 00:00:00.000
3 264.02 2018-07-01 00:00:00.000
1 NaN 2018-06-01 00:00:00.000
并以此结束:
part price date
1 67.32 2018-12-01 00:00:00.000
3 99.16 2018-12-01 00:00:00.000
1 67.32 2018-11-01 00:00:00.000
3 167.34 2018-11-01 00:00:00.000
1 67.32 2018-10-01 00:00:00.000
3 167.34 2018-10-01 00:00:00.000
1 88.37 2018-09-01 00:00:00.000
3 212.70 2018-09-01 00:00:00.000
1 88.37 2018-08-01 00:00:00.000
3 264.02 2018-08-01 00:00:00.000
1 88.37 2018-07-01 00:00:00.000
3 264.02 2018-07-01 00:00:00.000
【问题讨论】:
标签: python pandas dataframe data-cleaning