У меня есть кадр данных Panda, который заполняется следующим образом:
ref_date tag
1/29/2010 1
2/26/2010 3
3/31/2010 4
4/30/2010 4
5/31/2010 1
6/30/2010 3
8/31/2010 1
9/30/2010 4
12/31/2010 2
Обратите внимание, что в данных отсутствуют месяцы (т. Е. 7, 10, 11).Я хочу заполнить отсутствующие данные с помощью метода прямого заполнения, чтобы он выглядел следующим образом:
ref_date tag
1/29/2010 1
2/26/2010 3
3/31/2010 4
4/30/2010 4
5/31/2010 1
6/30/2010 3
7/30/2010 3
8/31/2010 1
9/30/2010 4
10/29/2010 4
11/30/2010 4
12/31/2010 2
Тег отсутствующей даты будет иметь тег предыдущего .Все даты представляют последний рабочий день месяца.
Это то, что я пытался сделать:
idx = pd.date_range(start='1/29/2010', end='12/31/2010', freq='BM')
df.ref_date.index = pd.to_datetime(df.ref_date.index)
df = df.reindex(index=[idx], columns=[ref_date], method='ffill')
Это дает мне ошибку:
TypeError: Невозможно сравнить тип 'Timestamp' с типом 'int'
, где pd
- это pandas, а df
- это информационный фрейм.
Я новичок в Pandas Dataframe, поэтому любая помощь будет принята!