在python中,如何用上面的值和下面的值的平均值填充空值?

2024-10-03 21:27:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据如下所示:

    ID      gcs    compact    active_clay       WTS     LOI
0   EA01    1530    40          9.02            22.7    4.58
1   EA02    NAN     NAN         NAN             NAN      NAN
2   EA03    1550    39          9.02            23.9    4.58
3   EA04    NAN     NAN          NAN            NAN      NAN
4   EA05    NAN     NAN          NAN            NAN      NAN
5   EA06    NAN     NAN          NAN            NAN      NAN
6   EA07    1520    40           9.02           24.9     4.58
7   EA08    NAN     NAN          NAN            NAN      NAN
8   EA09    1530    40           9.02           23.9     4.52
9   EA10    NAN    NAN           NAN            NAN      NAN

我希望用整个数据的上面和下面的值的平均值填充空值

例如:

第一个索引中的空值应填入平均值(索引0值、索引2值)

第三个索引中的空值应填入平均值(第二个索引值、第六个索引值)

第四个索引中的空值应填入平均值(第三个索引值、第六个索引值)

第5个索引中的空值应填入平均值(第4个索引值、第6个索引值)等

这应该是为所有列做我怎么能做到这一点。请帮助


Tags: 数据idnanactive平均值空值gcscompact
1条回答
网友
1楼 · 发布于 2024-10-03 21:27:57

我相信您需要^{}来填充缺少的值:

df = df.interpolate().bfill()
print (df)
         Date     GCS  Compactability  Active Clay   WTS   LOI  Moisture
0  01-01-2019  1530.0            40.0         9.02  22.7  4.58      3.10
1  01-01-2019  1540.0            39.5         9.02  23.3  4.58      3.05
2  01-01-2019  1550.0            39.0         9.02  23.9  4.58      3.00
3  01-01-2019  1550.0            39.0         9.02  23.9  4.58      3.00
4  01-01-2019  1550.0            39.0         9.02  23.9  4.58      3.00

相关问题 更多 >