| 
 
	积分1502贡献 精华在线时间 小时注册时间2012-4-12最后登录1970-1-1 
 | 
 
| 
本帖最后由 黄小仙儿 于 2021-11-12 17:25 编辑
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  
 有这么一些数据,其中某些要素有nan值,我想要用滑动平均补全。
 
 | time 
 | id 
 | lon 
 | lat 
 | alti 
 | TEM 
 | WIND 
 |  | 2020/8/1 0:00 | 57029 | 108.45 | 34.49 | 542.6 | 26.55 | 1.900307048 |  | 2020/8/1 0:00 | 57030 | 108.15 | 34.7 | 994.6 | 22.65 | 1.000269054 |  | 2020/8/1 1:00 | 57029 | 108.45 | 34.49 | 542.6 | 26.35 | 1.500081851 |  | 2020/8/1 1:00 | 57030 | 108.15 | 34.7 | 994.6 | 22.55 | 1.400184037 |  | 2020/8/1 2:00 | 57029 | 108.45 | 34.49 | 542.6 | 25.55 | 0.70036043 |  | 2020/8/1 2:00 | 57030 | 108.15 | 34.7 | 994.6 | 22.55 | 0.900421446 |  | 2020/8/1 3:00 | 57029 | 108.45 | 34.49 | 542.6 | 25.25 | 0.500199318 |  | 2020/8/1 3:00 | 57030 | 108.15 | 34.7 | 994.6 | 
 |  |  | 2020/8/1 4:00 | 57029 | 108.45 | 34.49 | 542.6 | 24.85 | 1.50050782 |  | 2020/8/1 4:00 | 57030 | 108.15 | 34.7 | 994.6 | 22.25 | 1.400492545 |  | 2020/8/1 5:00 | 57029 | 108.45 | 34.49 | 542.6 | 24.85 | 0.900306869 |  | 2020/8/1 5:00 | 57030 | 108.15 | 34.7 | 994.6 | 22.25 | 1.800268769 |  | 2020/8/1 6:00 | 57029 | 108.45 | 34.49 | 542.6 | 24.55 | 0.800298207 |  | 2020/8/1 6:00 | 57030 | 108.15 | 34.7 | 994.6 | 22.15 | 1.00029063 |  | 2020/8/1 7:00 | 57029 | 108.45 | 34.49 | 542.6 | 24.75 | 0.900252754 |  | 2020/8/1 7:00 | 57030 | 108.15 | 34.7 | 994.6 | 22.35 | 0.500260356 | 
 但是因为有很多站次,直接滑动就会将其他站的数据混入。
 所以我先groupby利用站号分组后再滑动,没有报错,也会有值填补上,但我检查了一下,根本不是这个站前几个时次的平均值啊。
 我把我的这行代码贴出来,请各位大神帮忙检查一下是出什么问题了?
 test_df["TEM"]=test_df.sort_values(['time','id']).groupby('id')['TEM'].transform(lambda x: x.fillna(x.rolling(3, min_periods=1).mean()))
 检查大半天了,也没看出来个所以然,请各位大神路过的帮忙检查一下。感谢!
 
 | 
 |