【发布时间】:2016-04-05 04:18:49
【问题描述】:
我有两个系列日期集,像这样读入熊猫(第一列是行索引,第二列是时间,第三列是通量)。
data1:
0 1977.262917 0.965209
1 1977.283350 0.969835
2 1977.303782 0.970732
3 1977.365079 0.948716
4 1977.405944 0.945410
data2:
0 1977.262918 0.922487
1 1977.283350 0.925750
2 1977.303783 0.922952
3 1977.365080 0.907151
4 1977.385512 0.891967
我需要根据时间对这两个数据集的通量和时间进行平均。但是,如您所见,时间并不一致。其中一些失踪了。它们之间的距离大致为 0.02。我正在考虑根据起点将所有时间列重新采样为均匀分离的时间列。我想要这样的东西。
data1:
0 1977.262917 0.965209
1 1977.282917 0.969835
2 1977.302917 0.970732
3 1977.322917 nan
4 1977.342917 nan
5 1977.362917 0.948716
6 1977.382917 nan
7 1977.402917 0.945410
data2:
0 1977.262918 0.922487
1 1977.282918 0.925750
2 1977.302918 0.922952
3 1977.322918 nan
4 1977.342918 nan
5 1977.362918 0.907151
6 1977.382918 0.891967
7 1977.402918 nan
然后在 nan 之后或之前填充 nan。通过这种方式,我可以直接平均两个数据集,因为现在它们大致对齐。那么如何使用 pandas 或 numpy、scipy 等在 python 中实现这一点。或者是否有更好的方法(除了我想的方式)来完成这项工作?也许是插值?谢谢大家。
【问题讨论】:
-
我会选择插值。为此有一个特殊的 scipy 类。
标签: python numpy pandas scipy time-series