【问题标题】:How to fill in missing days of data with average of day before and after如何用前后天的平均值填写缺失的数据天数
【发布时间】:2019-07-11 15:30:24
【问题描述】:

我从雅虎财务获得了亚马逊股票数据,但有些缺失的日子没有数据。

我想知道是否有一种方法,使用 google collab,然后“创建”那些缺失的日子,并用相邻日子的平均值填充它们。

我想在缺失天数之前和之后使用数据最接近的日期来创建缺失天数的数据。

我查看了许多关于 slack 的答案,但我找不到我的解决方案的具体答案。似乎最接近的命令是: ws = Amazon.worksheet('Amazon') idx = pd.date_range(start = '05-15-1997', end = '07-05-2019') Amazon_df = get_as_dataframe(ws) AMZ = pd.DataFrame(Amazon_df) AMZ.index = pd.DatetimeIndex(AMZ.index) AMZ = AMZ.reindex(idx, fill_value=np.nan)

这个命令的问题是我必须手动添加缺失的日期,并且使用亚马逊股票,这将需要很长时间。

我似乎无法弄清楚如何解决这个问题。电子表格的链接是https://docs.google.com/spreadsheets/d/1fLicjjVRTchd8ps6aiVsGfP1GVFfvJN2rgfoYxxSHZk/edit?usp=sharing

我想弄清楚这些数据,以便能够绘制没有随机“缺失”天数的图表。我想用实际有数据的前后几天的平均值来填充“缺失”的日子。

【问题讨论】:

  • 您应该从完整数据集中提取一些缺失天数的数据,并说明显示您希望如何填充缺失值。

标签: python pandas google-sheets google-colaboratory google-data-studio


【解决方案1】:

我认为您可以使用模拟来填充缺失值。我有一个函数rts_clean(),但在 R 代码(GeoRTS 包)中,它基于 STL-黄土分解(趋势、平稳性和噪声,承认缺失值),首先分解这 3 个组件中的时间序列,然后您只需使用其分布模拟噪声值(对于可用数据)。然后你会得到这样的东西:

示例: https://github.com/InstitutoInvestigacionesEconomicasPUCE/geortsBeta/blob/master/man/figures/rearme_img1.png

代码: https://github.com/InstitutoInvestigacionesEconomicasPUCE/geortsBeta/blob/master/R/rts_clean.R

【讨论】:

  • 有没有办法在 colab 中做到这一点
  • 另外,为什么我的重新索引功能会删除所有提供的数据?
  • 有没有办法将代码写入通用数据框?
猜你喜欢
  • 2021-10-25
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多