我有一个数据框,其中只包含了工作日的数据。下面是一个示例数据框:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'BAS_DT': ['2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05', '2023-01-05', '2023-01-05', '2023-01-06', '2023-01-07'],
'CUS_NO': [np.nan, np.nan, '900816636', '900816636', '900816946', '900816931', np.nan, np.nan],
'VALUE': [np.nan, np.nan, 10, 10, 7, 8, np.nan, np.nan],
'BR': [np.nan, np.nan, 100, 100, 200, 300, np.nan, np.nan]
})
我想让日期为 2023-01-06
和 2023-01-07
的行数据与 2023-01-05
的数据保持一致。我尝试使用了 ffill
方法,但它只会用距离NaN最近的非NaN行来填充,而不是按照我希望的方式进行。我期望的输出结果如下:
BAS_DT CUS_NO VALUE BR
0 2023-01-02 NaN NaN NaN
1 2023-01-03 NaN NaN NaN
2 2023-01-04 900816636 10.0 100.0
3 2023-01-05 900816636 10.0 100.0
4 2023-01-05 900816946 7.0 200.0
5 2023-01-05 900816931 8.0 300.0
6 2023-01-06 900816636 10.0 100.0
7 2023-01-06 900816946 7.0 200.0
8 2023-01-06 900816931 8.0 300.0
9 2023-01-07 900816636 10.0 100.0
10 2023-01-07 900816946 7.0 200.0
11 2023-01-07 900816931 8.0 300.0
请帮我实现这个需求,谢谢。