import pandas as pd
df = pd.DataFrame([['NewJersy',0,'2020-08-29'],
['NewJersy',12,'2020-08-30'],
['NewJersy',12,'2020-08-31'],
['NewJersy',None,'2020-09-01'],
['NewJersy',None,'2020-09-02'],
['NewJersy',None,'2020-09-03'],
['NewJersy',5,'2020-09-04'],
['NewJersy',5,'2020-09-05'],
['NewJersy',None,'2020-09-06'],
['NewYork',None,'2020-08-29'],
['NewYork',None,'2020-08-30'],
['NewYork',8,'2020-08-31'],
['NewYork',7,'2020-09-01'],
['NewYork',None,'2020-09-02'],
['NewYork',None,'2020-09-03']],
columns=['FName', 'FVal', 'GDate'])
print(df)
Я хочу заполнить значение NULL предыдущими значениями записи. Например, столбец FValue имеет значения NULL для 20-09-01 до 20-09-03. Значение NULL должно быть заменено значением 12, взятым из предыдущего допустимого значения, т. е. из 20-08-31.
Кроме того, если значение даты 2020-08-29 равно нулю, его следует заменить нулем, поскольку это первая дата, и у нее нет предыдущей записи.
Я пробовал код ниже, но не работал
df['F'] = df['F'].fillna(method='ffill')
Проверьте ожидаемые значения здесь: Заполнить пустые значения image
Спасибо