Пример #1
0
  def testResampleData(self):
    # test upsampling by a factor of 2
    timestamps = numpy.array([numpy.datetime64(
      datetime.datetime(2000, 1, 1, tzinfo=dateutil.tz.tzlocal()) +
      datetime.timedelta(hours=i)) for i in xrange(8)])
    values = numpy.linspace(0, 7, 8)
    newSamplingInterval = numpy.timedelta64(1800, 's')
    (newTimeStamps, newValues) = param_finder._resampleData(timestamps,
                                                            values,
                                                            newSamplingInterval)

    trueNewTimeStamps = numpy.array([numpy.datetime64(
      datetime.datetime(2000, 1, 1, tzinfo=dateutil.tz.tzlocal()) +
      datetime.timedelta(hours=0.5 * i)) for i in xrange(15)])
    self.assertTrue(numpy.allclose(newValues, numpy.linspace(0, 7, 15)))
    timestampError = (numpy.sum(
      numpy.abs(newTimeStamps - trueNewTimeStamps))).item().total_seconds()
    self.assertAlmostEqual(timestampError, 0)

    # test down-sampling by a factor of 2
    newSamplingInterval = numpy.timedelta64(7200, 's')
    (newTimeStamps, newValues) = param_finder._resampleData(timestamps,
                                                            values,
                                                            newSamplingInterval)
    trueNewTimeStamps = numpy.array([numpy.datetime64(
      datetime.datetime(2000, 1, 1, tzinfo=dateutil.tz.tzlocal()) +
      datetime.timedelta(hours=2 * i)) for i in xrange(4)])
    timestampError = (numpy.sum(
      numpy.abs(newTimeStamps - trueNewTimeStamps))).item().total_seconds()
    self.assertTrue(numpy.allclose(newValues, numpy.linspace(0, 6, 4)))
    self.assertAlmostEqual(timestampError, 0)
Пример #2
0
    def testResampleData(self):
        # test upsampling by a factor of 2
        timestampsInS = numpy.array([
            numpy.datetime64(
                datetime.datetime(2000, 1, 1, tzinfo=dateutil.tz.tzlocal()) +
                datetime.timedelta(hours=i)) for i in xrange(8)
        ])
        values = numpy.linspace(0, 7, 8)

        newSamplingIntervalInS = numpy.timedelta64(1800, 's')
        newSamplingIntervalInMs = newSamplingIntervalInS.astype(
            'timedelta64[ms]')
        timestampsInMs = timestampsInS.astype('datetime64[ms]')

        newValues = param_finder._resampleData(timestampsInMs, values,
                                               newSamplingIntervalInMs)

        self.assertTrue(numpy.allclose(newValues, numpy.linspace(0, 7, 15)))

        # test down-sampling by a factor of 2
        newSamplingIntervalInS = numpy.timedelta64(7200, 's')
        newSamplingIntervalInMs = newSamplingIntervalInS.astype(
            'timedelta64[ms]')
        newValues = param_finder._resampleData(timestampsInMs, values,
                                               newSamplingIntervalInMs)

        self.assertTrue(numpy.allclose(newValues, numpy.linspace(0, 6, 4)))
    def testResampleData(self):
        # test upsampling by a factor of 2
        timestampsInS = numpy.array(
            [
                numpy.datetime64(
                    datetime.datetime(2000, 1, 1, tzinfo=dateutil.tz.tzlocal()) + datetime.timedelta(hours=i)
                )
                for i in xrange(8)
            ]
        )
        values = numpy.linspace(0, 7, 8)

        newSamplingIntervalInS = numpy.timedelta64(1800, "s")
        newSamplingIntervalInMs = newSamplingIntervalInS.astype("timedelta64[ms]")
        timestampsInMs = timestampsInS.astype("datetime64[ms]")

        newValues = param_finder._resampleData(timestampsInMs, values, newSamplingIntervalInMs)

        self.assertTrue(numpy.allclose(newValues, numpy.linspace(0, 7, 15)))

        # test down-sampling by a factor of 2
        newSamplingIntervalInS = numpy.timedelta64(7200, "s")
        newSamplingIntervalInMs = newSamplingIntervalInS.astype("timedelta64[ms]")
        newValues = param_finder._resampleData(timestampsInMs, values, newSamplingIntervalInMs)

        self.assertTrue(numpy.allclose(newValues, numpy.linspace(0, 6, 4)))
Пример #4
0
    def testResampleData(self):
        # test upsampling by a factor of 2
        timestamps = numpy.array([
            numpy.datetime64(
                datetime.datetime(2000, 1, 1, tzinfo=dateutil.tz.tzlocal()) +
                datetime.timedelta(hours=i)) for i in xrange(8)
        ])
        values = numpy.linspace(0, 7, 8)
        newSamplingInterval = numpy.timedelta64(1800, 's')
        (newTimeStamps,
         newValues) = param_finder._resampleData(timestamps, values,
                                                 newSamplingInterval)

        trueNewTimeStamps = numpy.array([
            numpy.datetime64(
                datetime.datetime(2000, 1, 1, tzinfo=dateutil.tz.tzlocal()) +
                datetime.timedelta(hours=0.5 * i)) for i in xrange(15)
        ])
        self.assertTrue(numpy.allclose(newValues, numpy.linspace(0, 7, 15)))
        timestampError = (numpy.sum(
            numpy.abs(newTimeStamps -
                      trueNewTimeStamps))).item().total_seconds()
        self.assertAlmostEqual(timestampError, 0)

        # test down-sampling by a factor of 2
        newSamplingInterval = numpy.timedelta64(7200, 's')
        (newTimeStamps,
         newValues) = param_finder._resampleData(timestamps, values,
                                                 newSamplingInterval)
        trueNewTimeStamps = numpy.array([
            numpy.datetime64(
                datetime.datetime(2000, 1, 1, tzinfo=dateutil.tz.tzlocal()) +
                datetime.timedelta(hours=2 * i)) for i in xrange(4)
        ])
        timestampError = (numpy.sum(
            numpy.abs(newTimeStamps -
                      trueNewTimeStamps))).item().total_seconds()
        self.assertTrue(numpy.allclose(newValues, numpy.linspace(0, 6, 4)))
        self.assertAlmostEqual(timestampError, 0)