繁体   English   中英

如何用 python 中上述值和以下值的平均值填充 null 值?

[英]How to fill the null values with the average of the above value and the below value in 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

我希望 null 值填充整个数据的上述和以下值的平均值。

例子:

第一个索引中的 null 值应填充平均值(索引 0 值,索引 2 值)

第3个指标中的null值填平均值(第2个指标值,第6个指标值)

第4个指标中的null值填平均值(第3个指标值,第6个指标值)

第 5 个指标中的 null 值应填入平均值(第 4 个指标值,第 6 个指标值),依此类推。

应该对所有列都这样做我该怎么做。请帮忙。

我相信你需要DataFrame.interpolate回填缺失值:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM