[英]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.