在python中,如何用上面的值和下面的值的平均值填充空值?
我的数据如下所示:在python中,如何用上面的值和下面的值的平均值填充空值?,python,python-3.x,pandas,python-2.7,python-requests,Python,Python 3.x,Pandas,Python 2.7,Python Requests,我的数据如下所示: 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.
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个索引值)等
应该对所有列执行此操作。如何执行此操作。请提供帮助。我相信您需要对缺少的值进行回填:
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
我认为这从
Clay
到最后都不起作用,可能是因为pd.read\u clipboard()
将activeclay
解释为两个columns@NicolasGervais-oops,错误的解析活动Clay
如2列:(