Как заменить отсутствующие значения средними значениями ffill () и bfill () в pandas? - PullRequest
1 голос
/ 09 января 2020

Это примерный фрейм данных, и он содержит NA:

    x    y    z      datetime
0   2    3    4    02-02-2019
1   NA   NA   NA   03-02-2019
2   3    5    7    04-02-2019
3   NA   NA   NA   05-02-2019
4   4    7    9    06-02-2019

Теперь я хочу заполнить эти значения NA, и я могу сделать это, используя ffill() или bfill() , Но что делать, если вы хотите применить среднее значение ffill() & bfill(). Тогда как я могу это сделать?

Прямое среднее df = (df.fill() + df.bfill()) / 2 не сработало из-за datetime column.

Конечный кадр данных должен выглядеть следующим образом:

      x    y     z      datetime
0     2    3     4    02-02-2019
1   2.5    4   5.5    03-02-2019
2     3    5     7    04-02-2019
3   3.5    6     8    05-02-2019
4     4    7     9    06-02-2019

1 Ответ

1 голос
/ 09 января 2020

Проверьте с df.interpolate:

df.interpolate()

     x    y    z    datetime
0  2.0  3.0  4.0  02-02-2019
1  2.5  4.0  5.5  03-02-2019
2  3.0  5.0  7.0  04-02-2019
3  3.5  6.0  8.0  05-02-2019
4  4.0  7.0  9.0  06-02-2019
...