1
$\begingroup$

Let's take the

 lst = {{"2019-09-12 00:01:23",1}, {"2019-09-12 00:01:23", 3}, {"2019-09-12 00:01:24",10}};

Assume I want to count events within 1 second.

One way is to use

 TemporalData 

with arguments

   Automatic, ValueDimensions->2

So,

 ts0=TemporalData[lst, Automatic, ValueDimensions-> 2]

Now I want to use TimeSeriesAggregate[] to lump events within 1 second window together. Should this be done via ts0["Values"] as follows ?

  TimeSeriesAggregate[ts0["Values"],1,f[#]&]

If so, what TimeSeriesAggregate does without the user necessarily knowing is that the first two datapoints are lumped together as average. The user didn't specify this ? The user wants to take the Length of those events within the time window.

$\endgroup$
  • $\begingroup$ I'm not sure how to do this with TimeSeriesAggregate, but maybe the following does what you need? KeyValueMap[List] @ GroupBy[lst, First -> Last, Total] $\endgroup$ – Sjoerd Smit Oct 10 at 9:39
  • $\begingroup$ I think that ts0 does not behave the way you probably assume it does; using Automatic as the second argument in TemporalData sets the time indexes of the TemporalData object automatically while using ValueDimensions->2 creates a vector process where the first argument of each vector is a date string. $\endgroup$ – yosimitsu kodanuri Oct 10 at 17:19
  • 1
    $\begingroup$ @yosimitsukodanuri thank you for looking at it. I dont think I completely misunderstood. But can you be specific in what you think I misunderstood by concrete example ? "vector process" and these terms are non-standard. What would I need to do get it to work the way I'd like it ? I would like to apply a function f to non-overlapping windows of let's say dt=10, where dt is measured in seconds. $\endgroup$ – Curious Oct 11 at 5:53
  • $\begingroup$ lst understood as time-value pairs is incorrect input for TemporalData or TimeSeries due to duplicate time stamps. $\endgroup$ – Gosia Oct 22 at 19:36
0
$\begingroup$

Replicating the question

Consider what happens when we define a TemporalData object using tss (please look at the data section of this answer-tss is effectively, equivalent, to the three-point list lst; the only difference is that it's made up of 100 observations, this time) and supply the same options as in the question:

tds = TemporalData[tss, Automatic, ValueDimensions -> 2];

The Automatic part in the definition instructs the TemporalData object to use zero-based integer time signatures (that's the default behavior documented in TemporalData (see the 'Details & Options' section)). This is evident below: evaluating tds["Times"] produces

{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99} 

which is equivalent to Range[0, 99].

The ValueDimensions -> 2 options, instructs the TemporalData object to interpret its input in the first position ie. the tss list of date-value pairs as a list of vectors (for lack of a better term-please feel free to interject and propose a better one) consisting of two components each. Please note that this is how it's supposed to interpret the ValueDimensions option value. Perhaps it will help to take a look at the documentation (see above) at the section 'Options/ValueDimensions'.

Practically, in the definition above, tds is a time series with a time index over consecutive integers (0-99) and values that are pairs of a string (the original time stamp) and a numeric value. Evaluating tds["Values"] reports

{{Fri, Oct 11 '19-15:14:30.525 PM,69.6447},{Fri, Oct 11 '19-15:14:34.525 PM,69.5365},{Fri, Oct 11 '19-15:14:36.525 PM,69.4284},{Fri, Oct 11 '19-15:14:38.525 PM,69.3207},{Fri, Oct 11 '19-15:14:42.525 PM,69.2138},{Fri, Oct 11 '19-15:14:43.525 PM,69.1076},{Fri, Oct 11 '19-15:14:48.525 PM,69.0023},{Fri, Oct 11 '19-15:14:51.525 PM,68.8977},{Fri, Oct 11 '19-15:14:54.525 PM,68.7937},{Fri, Oct 11 '19-15:14:56.525 PM,68.691},{Fri, Oct 11 '19-15:14:57.525 PM,68.5896},{Fri, Oct 11 '19-15:14:59.525 PM,68.4902},{Fri, Oct 11 '19-15:15:03.525 PM,68.3931},{Fri, Oct 11 '19-15:15:03.525 PM,68.2985},{Fri, Oct 11 '19-15:15:07.525 PM,68.2075},{Fri, Oct 11 '19-15:15:10.525 PM,68.1213},{Fri, Oct 11 '19-15:15:11.525 PM,68.0414},{Fri, Oct 11 '19-15:15:11.525 PM,67.9694},{Fri, Oct 11 '19-15:15:12.525 PM,67.9072},{Fri, Oct 11 '19-15:15:13.525 PM,67.8568},{Fri, Oct 11 '19-15:15:15.525 PM,67.8201},{Fri, Oct 11 '19-15:15:18.525 PM,67.7996},{Fri, Oct 11 '19-15:15:20.525 PM,67.7971},{Fri, Oct 11 '19-15:15:23.525 PM,67.8145},{Fri, Oct 11 '19-15:15:25.525 PM,67.8531},{Fri, Oct 11 '19-15:15:27.525 PM,67.9136},{Fri, Oct 11 '19-15:15:30.525 PM,67.9959},{Fri, Oct 11 '19-15:15:33.525 PM,68.0995},{Fri, Oct 11 '19-15:15:34.525 PM,68.2234},{Fri, Oct 11 '19-15:15:34.525 PM,68.3659},{Fri, Oct 11 '19-15:15:37.525 PM,68.5253},{Fri, Oct 11 '19-15:15:42.525 PM,68.6994},{Fri, Oct 11 '19-15:15:44.525 PM,68.8855},{Fri, Oct 11 '19-15:15:49.525 PM,69.0801},{Fri, Oct 11 '19-15:15:51.525 PM,69.2791},{Fri, Oct 11 '19-15:15:56.525 PM,69.4779},{Fri, Oct 11 '19-15:16:00.525 PM,69.6719},{Fri, Oct 11 '19-15:16:04.525 PM,69.8569},{Fri, Oct 11 '19-15:16:04.525 PM,70.0288},{Fri, Oct 11 '19-15:16:05.525 PM,70.1845},{Fri, Oct 11 '19-15:16:10.525 PM,70.3209},{Fri, Oct 11 '19-15:16:10.525 PM,70.4358},{Fri, Oct 11 '19-15:16:13.525 PM,70.528},{Fri, Oct 11 '19-15:16:17.525 PM,70.598},{Fri, Oct 11 '19-15:16:22.525 PM,70.647},{Fri, Oct 11 '19-15:16:22.525 PM,70.6777},{Fri, Oct 11 '19-15:16:27.525 PM,70.6929},{Fri, Oct 11 '19-15:16:28.525 PM,70.6957},{Fri, Oct 11 '19-15:16:28.525 PM,70.6893},{Fri, Oct 11 '19-15:16:31.525 PM,70.677},{Fri, Oct 11 '19-15:16:33.525 PM,70.6619},{Fri, Oct 11 '19-15:16:34.525 PM,70.6463},{Fri, Oct 11 '19-15:16:38.525 PM,70.6323},{Fri, Oct 11 '19-15:16:41.525 PM,70.6219},{Fri, Oct 11 '19-15:16:44.525 PM,70.6161},{Fri, Oct 11 '19-15:16:44.525 PM,70.6152},{Fri, Oct 11 '19-15:16:48.525 PM,70.6189},{Fri, Oct 11 '19-15:16:48.525 PM,70.6263},{Fri, Oct 11 '19-15:16:49.525 PM,70.6369},{Fri, Oct 11 '19-15:16:54.525 PM,70.6501},{Fri, Oct 11 '19-15:16:59.525 PM,70.6655},{Fri, Oct 11 '19-15:17:02.525 PM,70.6836},{Fri, Oct 11 '19-15:17:02.525 PM,70.7052},{Fri, Oct 11 '19-15:17:06.525 PM,70.732},{Fri, Oct 11 '19-15:17:08.525 PM,70.7656},{Fri, Oct 11 '19-15:17:09.525 PM,70.8078},{Fri, Oct 11 '19-15:17:12.525 PM,70.86},{Fri, Oct 11 '19-15:17:14.525 PM,70.9225},{Fri, Oct 11 '19-15:17:16.525 PM,70.995},{Fri, Oct 11 '19-15:17:20.525 PM,71.0761},{Fri, Oct 11 '19-15:17:24.525 PM,71.1641},{Fri, Oct 11 '19-15:17:28.525 PM,71.2572},{Fri, Oct 11 '19-15:17:30.525 PM,71.3535},{Fri, Oct 11 '19-15:17:34.525 PM,71.4515},{Fri, Oct 11 '19-15:17:37.525 PM,71.55},{Fri, Oct 11 '19-15:17:42.525 PM,71.6477},{Fri, Oct 11 '19-15:17:45.525 PM,71.7433},{Fri, Oct 11 '19-15:17:45.525 PM,71.8358},{Fri, Oct 11 '19-15:17:47.525 PM,71.9244},{Fri, Oct 11 '19-15:17:52.525 PM,72.0077},{Fri, Oct 11 '19-15:17:55.525 PM,72.0842},{Fri, Oct 11 '19-15:17:58.525 PM,72.1528},{Fri, Oct 11 '19-15:18:02.525 PM,72.2123},{Fri, Oct 11 '19-15:18:04.525 PM,72.2625},{Fri, Oct 11 '19-15:18:08.525 PM,72.3038},{Fri, Oct 11 '19-15:18:09.525 PM,72.3371},{Fri, Oct 11 '19-15:18:11.525 PM,72.3639},{Fri, Oct 11 '19-15:18:15.525 PM,72.3861},{Fri, Oct 11 '19-15:18:20.525 PM,72.405},{Fri, Oct 11 '19-15:18:22.525 PM,72.4218},{Fri, Oct 11 '19-15:18:27.525 PM,72.4371},{Fri, Oct 11 '19-15:18:29.525 PM,72.4508},{Fri, Oct 11 '19-15:18:31.525 PM,72.4625},{Fri, Oct 11 '19-15:18:32.525 PM,72.4716},{Fri, Oct 11 '19-15:18:32.525 PM,72.4778},{Fri, Oct 11 '19-15:18:36.525 PM,72.4815},{Fri, Oct 11 '19-15:18:38.525 PM,72.4835},{Fri, Oct 11 '19-15:18:38.525 PM,72.4845},{Fri, Oct 11 '19-15:18:38.525 PM,72.4849},{Fri, Oct 11 '19-15:18:42.525 PM,72.4852}}

which is-as noted above-a list of string-value pairs. Similarly, evaluating tds["Paths"] returns

{{{0,{Fri, Oct 11 '19-15:14:30.525 PM,69.6447}},{1,{Fri, Oct 11 '19-15:14:34.525 PM,69.5365}},{2,{Fri, Oct 11 '19-15:14:36.525 PM,69.4284}},{3,{Fri, Oct 11 '19-15:14:38.525 PM,69.3207}},{4,{Fri, Oct 11 '19-15:14:42.525 PM,69.2138}},{5,{Fri, Oct 11 '19-15:14:43.525 PM,69.1076}},{6,{Fri, Oct 11 '19-15:14:48.525 PM,69.0023}},{7,{Fri, Oct 11 '19-15:14:51.525 PM,68.8977}},{8,{Fri, Oct 11 '19-15:14:54.525 PM,68.7937}},{9,{Fri, Oct 11 '19-15:14:56.525 PM,68.691}},{10,{Fri, Oct 11 '19-15:14:57.525 PM,68.5896}},{11,{Fri, Oct 11 '19-15:14:59.525 PM,68.4902}},{12,{Fri, Oct 11 '19-15:15:03.525 PM,68.3931}},{13,{Fri, Oct 11 '19-15:15:03.525 PM,68.2985}},{14,{Fri, Oct 11 '19-15:15:07.525 PM,68.2075}},{15,{Fri, Oct 11 '19-15:15:10.525 PM,68.1213}},{16,{Fri, Oct 11 '19-15:15:11.525 PM,68.0414}},{17,{Fri, Oct 11 '19-15:15:11.525 PM,67.9694}},{18,{Fri, Oct 11 '19-15:15:12.525 PM,67.9072}},{19,{Fri, Oct 11 '19-15:15:13.525 PM,67.8568}},{20,{Fri, Oct 11 '19-15:15:15.525 PM,67.8201}},{21,{Fri, Oct 11 '19-15:15:18.525 PM,67.7996}},{22,{Fri, Oct 11 '19-15:15:20.525 PM,67.7971}},{23,{Fri, Oct 11 '19-15:15:23.525 PM,67.8145}},{24,{Fri, Oct 11 '19-15:15:25.525 PM,67.8531}},{25,{Fri, Oct 11 '19-15:15:27.525 PM,67.9136}},{26,{Fri, Oct 11 '19-15:15:30.525 PM,67.9959}},{27,{Fri, Oct 11 '19-15:15:33.525 PM,68.0995}},{28,{Fri, Oct 11 '19-15:15:34.525 PM,68.2234}},{29,{Fri, Oct 11 '19-15:15:34.525 PM,68.3659}},{30,{Fri, Oct 11 '19-15:15:37.525 PM,68.5253}},{31,{Fri, Oct 11 '19-15:15:42.525 PM,68.6994}},{32,{Fri, Oct 11 '19-15:15:44.525 PM,68.8855}},{33,{Fri, Oct 11 '19-15:15:49.525 PM,69.0801}},{34,{Fri, Oct 11 '19-15:15:51.525 PM,69.2791}},{35,{Fri, Oct 11 '19-15:15:56.525 PM,69.4779}},{36,{Fri, Oct 11 '19-15:16:00.525 PM,69.6719}},{37,{Fri, Oct 11 '19-15:16:04.525 PM,69.8569}},{38,{Fri, Oct 11 '19-15:16:04.525 PM,70.0288}},{39,{Fri, Oct 11 '19-15:16:05.525 PM,70.1845}},{40,{Fri, Oct 11 '19-15:16:10.525 PM,70.3209}},{41,{Fri, Oct 11 '19-15:16:10.525 PM,70.4358}},{42,{Fri, Oct 11 '19-15:16:13.525 PM,70.528}},{43,{Fri, Oct 11 '19-15:16:17.525 PM,70.598}},{44,{Fri, Oct 11 '19-15:16:22.525 PM,70.647}},{45,{Fri, Oct 11 '19-15:16:22.525 PM,70.6777}},{46,{Fri, Oct 11 '19-15:16:27.525 PM,70.6929}},{47,{Fri, Oct 11 '19-15:16:28.525 PM,70.6957}},{48,{Fri, Oct 11 '19-15:16:28.525 PM,70.6893}},{49,{Fri, Oct 11 '19-15:16:31.525 PM,70.677}},{50,{Fri, Oct 11 '19-15:16:33.525 PM,70.6619}},{51,{Fri, Oct 11 '19-15:16:34.525 PM,70.6463}},{52,{Fri, Oct 11 '19-15:16:38.525 PM,70.6323}},{53,{Fri, Oct 11 '19-15:16:41.525 PM,70.6219}},{54,{Fri, Oct 11 '19-15:16:44.525 PM,70.6161}},{55,{Fri, Oct 11 '19-15:16:44.525 PM,70.6152}},{56,{Fri, Oct 11 '19-15:16:48.525 PM,70.6189}},{57,{Fri, Oct 11 '19-15:16:48.525 PM,70.6263}},{58,{Fri, Oct 11 '19-15:16:49.525 PM,70.6369}},{59,{Fri, Oct 11 '19-15:16:54.525 PM,70.6501}},{60,{Fri, Oct 11 '19-15:16:59.525 PM,70.6655}},{61,{Fri, Oct 11 '19-15:17:02.525 PM,70.6836}},{62,{Fri, Oct 11 '19-15:17:02.525 PM,70.7052}},{63,{Fri, Oct 11 '19-15:17:06.525 PM,70.732}},{64,{Fri, Oct 11 '19-15:17:08.525 PM,70.7656}},{65,{Fri, Oct 11 '19-15:17:09.525 PM,70.8078}},{66,{Fri, Oct 11 '19-15:17:12.525 PM,70.86}},{67,{Fri, Oct 11 '19-15:17:14.525 PM,70.9225}},{68,{Fri, Oct 11 '19-15:17:16.525 PM,70.995}},{69,{Fri, Oct 11 '19-15:17:20.525 PM,71.0761}},{70,{Fri, Oct 11 '19-15:17:24.525 PM,71.1641}},{71,{Fri, Oct 11 '19-15:17:28.525 PM,71.2572}},{72,{Fri, Oct 11 '19-15:17:30.525 PM,71.3535}},{73,{Fri, Oct 11 '19-15:17:34.525 PM,71.4515}},{74,{Fri, Oct 11 '19-15:17:37.525 PM,71.55}},{75,{Fri, Oct 11 '19-15:17:42.525 PM,71.6477}},{76,{Fri, Oct 11 '19-15:17:45.525 PM,71.7433}},{77,{Fri, Oct 11 '19-15:17:45.525 PM,71.8358}},{78,{Fri, Oct 11 '19-15:17:47.525 PM,71.9244}},{79,{Fri, Oct 11 '19-15:17:52.525 PM,72.0077}},{80,{Fri, Oct 11 '19-15:17:55.525 PM,72.0842}},{81,{Fri, Oct 11 '19-15:17:58.525 PM,72.1528}},{82,{Fri, Oct 11 '19-15:18:02.525 PM,72.2123}},{83,{Fri, Oct 11 '19-15:18:04.525 PM,72.2625}},{84,{Fri, Oct 11 '19-15:18:08.525 PM,72.3038}},{85,{Fri, Oct 11 '19-15:18:09.525 PM,72.3371}},{86,{Fri, Oct 11 '19-15:18:11.525 PM,72.3639}},{87,{Fri, Oct 11 '19-15:18:15.525 PM,72.3861}},{88,{Fri, Oct 11 '19-15:18:20.525 PM,72.405}},{89,{Fri, Oct 11 '19-15:18:22.525 PM,72.4218}},{90,{Fri, Oct 11 '19-15:18:27.525 PM,72.4371}},{91,{Fri, Oct 11 '19-15:18:29.525 PM,72.4508}},{92,{Fri, Oct 11 '19-15:18:31.525 PM,72.4625}},{93,{Fri, Oct 11 '19-15:18:32.525 PM,72.4716}},{94,{Fri, Oct 11 '19-15:18:32.525 PM,72.4778}},{95,{Fri, Oct 11 '19-15:18:36.525 PM,72.4815}},{96,{Fri, Oct 11 '19-15:18:38.525 PM,72.4835}},{97,{Fri, Oct 11 '19-15:18:38.525 PM,72.4845}},{98,{Fri, Oct 11 '19-15:18:38.525 PM,72.4849}},{99,{Fri, Oct 11 '19-15:18:42.525 PM,72.4852}}}}

which is the single path available to tss; note how the "Values" of the path are essentially the string-value pairs discussed above.

A TemporalData object can host a number of possibly different time paths. These can be scalar-valued (ie contain a single observation per time instance) or they can be vectors (what we are dealing with here with ValueDimensions -> 2). When a TemporalData object contains one or more scalar paths, I think that the interpretation favored by the Documentation is to consider the object as a collection of different instantiations of the same process. When on the other hand, one is handling a vector process (again, I'm using the terms in no rigorous way-please feel free to interject and propose a better terminology) with a single path, the intuition is that the observations are over a 'composite' object (eg. position, acceleration, velocity of a moving object). In closing, nothing forbids you to encapsulate many paths of a vector process in the TemporalData object. I think though that the majority of the time series related built-in functionality of Mathematica (or Wolfram Language) does not play well with vector valued processes.

The problem with TimeSeriesAggregate[tds, 1, f[#] &] as should be expected from the discussion above, is that 1 does not signify a temporal difference of one second in the context of the underlying series. Also, the series tds-as is the case with lst, in the question-is vector valued, with pairs of string-numeric entries, over an integer range, courtesy of the ValueDimensions option value used.

Proposed solution

Define a TemporalData object without any options, as in

td = TemporalData[ts];

Please note that ts is provided in the Data section of this answer and is essentially the same time series with tss used above, only this time the timestamps are not strings but the corresponding AbsoluteTime values.

Notice how the data are not regularly sampled (RegularlySampledQ[td] evaluates to False). This fact alone can introduce artifacts into the analysis if one is not careful. Also note how MinimumTimeIncrement[td] evaluates to 1 and Differences[td["Times"]] shows the time differences between consecutive observations.

{4.,2.,2.,4.,1.,5.,3.,3.,2.,1.,2.,4.,4.,3.,1.,1.,1.,2.,3.,2.,3.,2.,2.,3.,3.,1.,3.,5.,2.,5.,2.,5.,4.,4.,1.,5.,3.,4.,5.,5.,1.,3.,2.,1.,4.,3.,3.,4.,1.,5.,5.,3.,4.,2.,1.,3.,2.,2.,4.,4.,4.,2.,4.,3.,5.,3.,2.,5.,3.,3.,4.,2.,4.,1.,2.,4.,5.,2.,5.,2.,2.,1.,4.,2.,4.}

Assuming the objective is to bundle together consecutive observations no more than eg 10 seconds apart, this can be achieved by TimeSeriesAggregate[td, 10, Mean] where Mean is used as a data operator. Please note how TimeSeriesAggregate seems to collect observations that are located in non-overlapping windows of width no more than 10 seconds (in this case). If the objective is instead to bundle together observations whose accumulated time differences is less than eg 10 seconds, then a quick way to do it (and by no means the only one) is to use reconstruct[td, 10] from the Code section of this answer.

DateListPlot[{TimeSeriesAggregate[td,10,Mean],reconstruct[td,10]},PlotLegends->{TimeSeriesAggregate,reconstruct},PlotLabel->Row[{Δt,"=",Quantity[10,"Seconds"]}]]

enter image description here

Hope some of it helps.


Other auxiliary code

(* partition a time series based on the time differences between subsequent observations *)

(* returns an appropriate number of bundles in the original series *)
tsPartnI[dtimes_,dt_]:=Module[{bag,rest,n,take,fold},
  {bag,rest,n}=Fold[
    If[
      #1[[-1]]+#2<=dt,
      {#1[[1]],Join[#1[[2]],{#2}],#1[[-1]]+#2},
      {Join[#1[[1]],{#1[[2]]}],{#2},#2}
     ]&,{{},{},0},dtimes];

  (* deals with cases where the first underlying time difference is greater than dt *)
  If[bag[[1]]=={},take=Rest[bag],take=bag];

  (* deals with trailing overhanging elements *)
  If[Length[rest]>0,fold=Join[take,{rest}],fold=take];

  fold//Map[Length]
 ];

(* partitions the original series according to the appropriate number of bundles *)
tsPartn[y_,bundles_]:=Module[{b},
  b=Fold[
    With[{x=TakeDrop[#1[[-1]],#2]},
      {Join[#1[[1]],{x[[1]]}],x[[-1]]}
     ]&,{{},y},bundles];

  Join[b[[1]],{b[[-1]]}]
 ]

(* reconstruct the bundled series *)
reconstruct[series_,dt_]:=Module[{bundles,times,values},
  bundles=tsPartnI[Differences[series["Times"]],dt];

  values=tsPartn[series["Values"],bundles];
  times=tsPartn[series["Times"],bundles];

  TemporalData[Mean/@values,{times[[All,-1]]}]
 ]

Data sources

(* random string date and value pairs *) 
tss = {{Fri, Oct 11 '19-15:14:30.525 PM,69.6447},{Fri, Oct 11 '19-15:14:34.525 PM,69.5365},{Fri, Oct 11 '19-15:14:36.525 PM,69.4284},{Fri, Oct 11 '19-15:14:38.525 PM,69.3207},{Fri, Oct 11 '19-15:14:42.525 PM,69.2138},{Fri, Oct 11 '19-15:14:43.525 PM,69.1076},{Fri, Oct 11 '19-15:14:48.525 PM,69.0023},{Fri, Oct 11 '19-15:14:51.525 PM,68.8977},{Fri, Oct 11 '19-15:14:54.525 PM,68.7937},{Fri, Oct 11 '19-15:14:56.525 PM,68.691},{Fri, Oct 11 '19-15:14:57.525 PM,68.5896},{Fri, Oct 11 '19-15:14:59.525 PM,68.4902},{Fri, Oct 11 '19-15:15:03.525 PM,68.3931},{Fri, Oct 11 '19-15:15:03.525 PM,68.2985},{Fri, Oct 11 '19-15:15:07.525 PM,68.2075},{Fri, Oct 11 '19-15:15:10.525 PM,68.1213},{Fri, Oct 11 '19-15:15:11.525 PM,68.0414},{Fri, Oct 11 '19-15:15:11.525 PM,67.9694},{Fri, Oct 11 '19-15:15:12.525 PM,67.9072},{Fri, Oct 11 '19-15:15:13.525 PM,67.8568},{Fri, Oct 11 '19-15:15:15.525 PM,67.8201},{Fri, Oct 11 '19-15:15:18.525 PM,67.7996},{Fri, Oct 11 '19-15:15:20.525 PM,67.7971},{Fri, Oct 11 '19-15:15:23.525 PM,67.8145},{Fri, Oct 11 '19-15:15:25.525 PM,67.8531},{Fri, Oct 11 '19-15:15:27.525 PM,67.9136},{Fri, Oct 11 '19-15:15:30.525 PM,67.9959},{Fri, Oct 11 '19-15:15:33.525 PM,68.0995},{Fri, Oct 11 '19-15:15:34.525 PM,68.2234},{Fri, Oct 11 '19-15:15:34.525 PM,68.3659},{Fri, Oct 11 '19-15:15:37.525 PM,68.5253},{Fri, Oct 11 '19-15:15:42.525 PM,68.6994},{Fri, Oct 11 '19-15:15:44.525 PM,68.8855},{Fri, Oct 11 '19-15:15:49.525 PM,69.0801},{Fri, Oct 11 '19-15:15:51.525 PM,69.2791},{Fri, Oct 11 '19-15:15:56.525 PM,69.4779},{Fri, Oct 11 '19-15:16:00.525 PM,69.6719},{Fri, Oct 11 '19-15:16:04.525 PM,69.8569},{Fri, Oct 11 '19-15:16:04.525 PM,70.0288},{Fri, Oct 11 '19-15:16:05.525 PM,70.1845},{Fri, Oct 11 '19-15:16:10.525 PM,70.3209},{Fri, Oct 11 '19-15:16:10.525 PM,70.4358},{Fri, Oct 11 '19-15:16:13.525 PM,70.528},{Fri, Oct 11 '19-15:16:17.525 PM,70.598},{Fri, Oct 11 '19-15:16:22.525 PM,70.647},{Fri, Oct 11 '19-15:16:22.525 PM,70.6777},{Fri, Oct 11 '19-15:16:27.525 PM,70.6929},{Fri, Oct 11 '19-15:16:28.525 PM,70.6957},{Fri, Oct 11 '19-15:16:28.525 PM,70.6893},{Fri, Oct 11 '19-15:16:31.525 PM,70.677},{Fri, Oct 11 '19-15:16:33.525 PM,70.6619},{Fri, Oct 11 '19-15:16:34.525 PM,70.6463},{Fri, Oct 11 '19-15:16:38.525 PM,70.6323},{Fri, Oct 11 '19-15:16:41.525 PM,70.6219},{Fri, Oct 11 '19-15:16:44.525 PM,70.6161},{Fri, Oct 11 '19-15:16:44.525 PM,70.6152},{Fri, Oct 11 '19-15:16:48.525 PM,70.6189},{Fri, Oct 11 '19-15:16:48.525 PM,70.6263},{Fri, Oct 11 '19-15:16:49.525 PM,70.6369},{Fri, Oct 11 '19-15:16:54.525 PM,70.6501},{Fri, Oct 11 '19-15:16:59.525 PM,70.6655},{Fri, Oct 11 '19-15:17:02.525 PM,70.6836},{Fri, Oct 11 '19-15:17:02.525 PM,70.7052},{Fri, Oct 11 '19-15:17:06.525 PM,70.732},{Fri, Oct 11 '19-15:17:08.525 PM,70.7656},{Fri, Oct 11 '19-15:17:09.525 PM,70.8078},{Fri, Oct 11 '19-15:17:12.525 PM,70.86},{Fri, Oct 11 '19-15:17:14.525 PM,70.9225},{Fri, Oct 11 '19-15:17:16.525 PM,70.995},{Fri, Oct 11 '19-15:17:20.525 PM,71.0761},{Fri, Oct 11 '19-15:17:24.525 PM,71.1641},{Fri, Oct 11 '19-15:17:28.525 PM,71.2572},{Fri, Oct 11 '19-15:17:30.525 PM,71.3535},{Fri, Oct 11 '19-15:17:34.525 PM,71.4515},{Fri, Oct 11 '19-15:17:37.525 PM,71.55},{Fri, Oct 11 '19-15:17:42.525 PM,71.6477},{Fri, Oct 11 '19-15:17:45.525 PM,71.7433},{Fri, Oct 11 '19-15:17:45.525 PM,71.8358},{Fri, Oct 11 '19-15:17:47.525 PM,71.9244},{Fri, Oct 11 '19-15:17:52.525 PM,72.0077},{Fri, Oct 11 '19-15:17:55.525 PM,72.0842},{Fri, Oct 11 '19-15:17:58.525 PM,72.1528},{Fri, Oct 11 '19-15:18:02.525 PM,72.2123},{Fri, Oct 11 '19-15:18:04.525 PM,72.2625},{Fri, Oct 11 '19-15:18:08.525 PM,72.3038},{Fri, Oct 11 '19-15:18:09.525 PM,72.3371},{Fri, Oct 11 '19-15:18:11.525 PM,72.3639},{Fri, Oct 11 '19-15:18:15.525 PM,72.3861},{Fri, Oct 11 '19-15:18:20.525 PM,72.405},{Fri, Oct 11 '19-15:18:22.525 PM,72.4218},{Fri, Oct 11 '19-15:18:27.525 PM,72.4371},{Fri, Oct 11 '19-15:18:29.525 PM,72.4508},{Fri, Oct 11 '19-15:18:31.525 PM,72.4625},{Fri, Oct 11 '19-15:18:32.525 PM,72.4716},{Fri, Oct 11 '19-15:18:32.525 PM,72.4778},{Fri, Oct 11 '19-15:18:36.525 PM,72.4815},{Fri, Oct 11 '19-15:18:38.525 PM,72.4835},{Fri, Oct 11 '19-15:18:38.525 PM,72.4845},{Fri, Oct 11 '19-15:18:38.525 PM,72.4849},{Fri, Oct 11 '19-15:18:42.525 PM,72.4852}};

(* same as above with AbsoluteTime[] used on the date string *)
ts = {{3.7798*10^9,69.6447},{3.7798*10^9,69.5365},{3.7798*10^9,69.4284},{3.7798*10^9,69.3207},{3.7798*10^9,69.2138},{3.7798*10^9,69.1076},{3.7798*10^9,69.0023},{3.7798*10^9,68.8977},{3.7798*10^9,68.7937},{3.7798*10^9,68.691},{3.7798*10^9,68.5896},{3.7798*10^9,68.4902},{3.7798*10^9,68.3931},{3.7798*10^9,68.2985},{3.7798*10^9,68.2075},{3.7798*10^9,68.1213},{3.7798*10^9,68.0414},{3.7798*10^9,67.9694},{3.7798*10^9,67.9072},{3.7798*10^9,67.8568},{3.7798*10^9,67.8201},{3.7798*10^9,67.7996},{3.7798*10^9,67.7971},{3.7798*10^9,67.8145},{3.7798*10^9,67.8531},{3.7798*10^9,67.9136},{3.7798*10^9,67.9959},{3.7798*10^9,68.0995},{3.7798*10^9,68.2234},{3.7798*10^9,68.3659},{3.7798*10^9,68.5253},{3.7798*10^9,68.6994},{3.7798*10^9,68.8855},{3.7798*10^9,69.0801},{3.7798*10^9,69.2791},{3.7798*10^9,69.4779},{3.7798*10^9,69.6719},{3.7798*10^9,69.8569},{3.7798*10^9,70.0288},{3.7798*10^9,70.1845},{3.7798*10^9,70.3209},{3.7798*10^9,70.4358},{3.7798*10^9,70.528},{3.7798*10^9,70.598},{3.7798*10^9,70.647},{3.7798*10^9,70.6777},{3.7798*10^9,70.6929},{3.7798*10^9,70.6957},{3.7798*10^9,70.6893},{3.7798*10^9,70.677},{3.7798*10^9,70.6619},{3.7798*10^9,70.6463},{3.7798*10^9,70.6323},{3.7798*10^9,70.6219},{3.7798*10^9,70.6161},{3.7798*10^9,70.6152},{3.7798*10^9,70.6189},{3.7798*10^9,70.6263},{3.7798*10^9,70.6369},{3.7798*10^9,70.6501},{3.7798*10^9,70.6655},{3.7798*10^9,70.6836},{3.7798*10^9,70.7052},{3.7798*10^9,70.732},{3.7798*10^9,70.7656},{3.7798*10^9,70.8078},{3.7798*10^9,70.86},{3.7798*10^9,70.9225},{3.7798*10^9,70.995},{3.7798*10^9,71.0761},{3.7798*10^9,71.1641},{3.7798*10^9,71.2572},{3.7798*10^9,71.3535},{3.7798*10^9,71.4515},{3.7798*10^9,71.55},{3.7798*10^9,71.6477},{3.7798*10^9,71.7433},{3.7798*10^9,71.8358},{3.7798*10^9,71.9244},{3.7798*10^9,72.0077},{3.7798*10^9,72.0842},{3.7798*10^9,72.1528},{3.7798*10^9,72.2123},{3.7798*10^9,72.2625},{3.7798*10^9,72.3038},{3.7798*10^9,72.3371},{3.7798*10^9,72.3639},{3.7798*10^9,72.3861},{3.7798*10^9,72.405},{3.7798*10^9,72.4218},{3.7798*10^9,72.4371},{3.7798*10^9,72.4508},{3.7798*10^9,72.4625},{3.7798*10^9,72.4716},{3.7798*10^9,72.4778},{3.7798*10^9,72.4815},{3.7798*10^9,72.4835},{3.7798*10^9,72.4845},{3.7798*10^9,72.4849},{3.7797959225251158*10^9,72.4852}};

(* date and time spec used to translate the date and time string in tss into the first ts component *)
(* code used: Map[DateString[#, dtspec] &] *)
dtspec = {"DayNameShort", ",", " ", "MonthNameShort", " ", "Day", " ", "'", "YearShort", "-", "Hour", ":", "Minute", ":", "Second", ".", "Millisecond", " ", "AMPM"};
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.