Расширить индекс существующего фрейма данных и заполнить новые пропущенные значения

#python

#python

Вопрос:

У меня есть df с двумя столбцами: «час» и «транзакции»

     hour  transactions
 0   10    792
 1   11    792
 2   14    594
 3   15    198
 4   16    198
 

Первая строка в основном означает, что с 10:00 до 10:59 было 792 транзакции. Если за определенный час ничего не произошло, запись никогда не производилась.

Мне нужно заполнить все строки в течение 24 часов следующим образом:

 hour       transactions
0          0
1          0
2          0
3          0
4          0
5          0
6          0
7          0
8          0
9          0
10         792
11         792
12         0
13         0
14         594
15         198
16         198
17         0
18         0
19         0
20         0
21         0
22         0
23         0
 

Я пробовал это:

 new_index = pd.Index(np.arange(0,24,1), name="hour")
df4.set_index("hour").reindex(new_index).fillna(0)
 

но когда я печатаю df, он по-прежнему выглядит так:

      hour    transactions
0    10      792
1    11      792
2    14      594  
3    15      198
4    16      198
 

Комментарии:

1. Что произойдет, если вы сделаете: df4 = df4.set_index("hour").reindex(new_index).fillna(0) ?

2. Хахаха, боже, ты прав. Я не сохранил его xD