【问题标题】:Pandas rolling mean for Series returns NaNSeries 的 Pandas 滚动平均值返回 NaN
【发布时间】:2018-05-29 22:25:02
【问题描述】:

为什么我会收到 Nan for rolling mean?这是此代码的代码和输出。最初我认为我的数据是错误的,但简单的.mean() 工作正常。

print(df_train.head())
y_hat_avg['mean'] = df_train['pickups'].mean()
print(y_hat_avg.head())
y_hat_avg['moving_avg_forecast'] = df_train['pickups'].rolling(1).mean()
print(y_hat_avg.head()) 

添加了一些数据: ..................................................... ....................

                       pickups
date                        
2014-04-01 00:00:00       12
2014-04-01 01:00:00        5
2014-04-01 02:00:00        2
2014-04-01 03:00:00        4
2014-04-01 04:00:00        3
                     pickups      mean
date                                  
2014-08-01 00:00:00       19  47.25888
2014-08-01 01:00:00       26  47.25888
2014-08-01 02:00:00        9  47.25888
2014-08-01 03:00:00        4  47.25888
2014-08-01 04:00:00       11  47.25888

                     pickups      mean  moving_avg_forecast
date                                                       
2014-08-01 00:00:00       19  47.25888                  NaN
2014-08-01 01:00:00       26  47.25888                  NaN
2014-08-01 02:00:00        9  47.25888                  NaN
2014-08-01 03:00:00        4  47.25888                  NaN
2014-08-01 04:00:00       11  47.25888                  NaN

【问题讨论】:

  • 检查y_hat_avg index和df_dtrain index的dtypes。
  • 谢谢!很遗憾,无法为您的评论点赞。

标签: python pandas


【解决方案1】:

df_train.index = pd.RangeIndex(len(df_train.index)) 为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 2016-04-09
    • 2015-07-09
    • 1970-01-01
    • 2019-06-16
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    相关资源
    最近更新 更多