У меня есть кадр данных, который выглядит примерно так:
+---------+---------+
| Value A | Value B |
+---------+---------+
| 10 | 1 |
| 20 | 2 |
| 30 | 3 |
| 40 | 4 |
| 50 | 5 |
| 60 | NaN |
| 70 | NaN |
| 80 | NaN |
| 90 | NaN |
| 100 | NaN |
+---------+---------+
, и я хочу заполнить эти пропущенные значения предыдущими значениями, но сместить, как показано ниже.
+---------+---------+
| Value A | Value B |
+---------+---------+
| 10 | 1 |
| 20 | 1 |
| 30 | 2 |
| 40 | 2 |
| 50 | 3 |
| 60 | 3 |
| 70 | 4 |
| 80 | 4 |
| 90 | 5 |
| 100 | 5 |
+---------+---------+
Проблема в том, что эти пропущенные значения могут быть в любом столбце. Я пытался сделать это вручную, но это заняло бы много времени. Кроме того, значения заполнения зависят от len()
столбца A. Мой подход был примерно таким:
missing_data_len = len(valueA)-len(valueB)
df['ValueB'].shift(missing_data_len)
, а затем используйте ffill
для заполнения значений NaN. но результаты не точны. Есть ли лучший подход для решения этой проблемы.