【问题标题】:Fill missing row values as an average of previous and next row in pandas dataframe将缺失的行值填充为熊猫数据框中上一行和下一行的平均值
【发布时间】:2021-10-19 09:36:28
【问题描述】:

我的数据框是这样的

            county_name     state       year    rank county_population  city_population
31          Fairfax County  Virginia    2010.0  0.0   1086730.0         60300
32          Fairfax County  Virginia    2011.0  0.0   1099603.0         60300
33          Fairfax County  Virginia    2013.0  0.0   1130364.0         60300
34          Fairfax County  Virginia    2014.0  0.0   1138123.0         60300
35          Fairfax County  Virginia    2015.0  0.0   1142245.0         60300

我想插入 2012 年的缺失行并将其分配到第 7 位。对于县市人口的值,我想取上一行和下一行(2011 年和 2013 年)的平均值并填充这些值缺少的行。

任何指针将不胜感激

编辑 1: 预期的数据框应该是

            county_name     state       year    rank county_population  city_population
31          Fairfax County  Virginia    2010.0  0.0   1086730.0         60300
32          Fairfax County  Virginia    2011.0  0.0   1099603.0         60300
33          Fairfax County  Virginia    2012.0  7.0   1114984.0         60300
34          Fairfax County  Virginia    2013.0  0.0   1130364.0         60300
35          Fairfax County  Virginia    2014.0  0.0   1138123.0         60300
36          Fairfax County  Virginia    2015.0  0.0   1142245.0         60300

【问题讨论】:

  • 其他县要插入多行吗?
  • 请发布预期的输出数据框
  • @sammywemmy 我已经发布了预期的数据框
  • @Corralien 不,这是唯一的要求

标签: python pandas dataframe


【解决方案1】:

创建一个新的数据框并将它们合并,按年份排序并插入缺失值:

data = [['Fairfax County', 'Virginia', 2012, 7, np.NaN, np.NaN]]
out = df.append(pd.DataFrame(data, columns=df.columns)) \
        .sort_values('year').interpolate()
print(out)

输出结果:

>>> out
       county_name     state  year  rank  county_population  city_population
31  Fairfax County  Virginia  2010   0.0          1086730.0          60300.0
32  Fairfax County  Virginia  2011   0.0          1099603.0          60300.0
0   Fairfax County  Virginia  2012   7.0          1114983.5          60300.0
33  Fairfax County  Virginia  2013   0.0          1130364.0          60300.0
34  Fairfax County  Virginia  2014   0.0          1138123.0          60300.0
35  Fairfax County  Virginia  2015   0.0          1142245.0          60300.0

【讨论】:

  • 工作就像一个魅力。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-30
  • 1970-01-01
  • 2020-06-06
  • 1970-01-01
  • 2021-11-28
相关资源
最近更新 更多