vDataFrame.asfreq

In [ ]:
vDataFrame.asfreq(ts: str,
                  rule: (str, datetime.timedelta),
                  method: dict,
                  by: list = [])

Computes a regular time interval vDataFrame by interpolating the missing values using different techniques.

Parameters

Name Type Optional Description
ts
str
TS (Time Series) vcolumn to use to order the data. The vcolumn type must be date like (date, datetime, timestamp...)
rule
str / time
Interval to use to slice the time. For example, '5 minutes' will create records separated by '5 minutes' time interval.
method
dict
Dictionary of all the different methods of interpolation. The dict must be similar to the following: {"column1": "interpolation1" ..., "columnk": "interpolationk"}. 3 types of interpolations are possible:
  • bfill : Constant propagation of the next value (Back Propagation).
  • ffill : Constant propagation of the first value (First Propagation).
  • linear : Linear Interpolation.
by
list
vcolumns used in the partition.

Returns

vDataFrame : object result of the interpolation.

Example

In [114]:
from verticapy.datasets import load_smart_meters
sm = load_smart_meters()
display(sm)
123
val
Numeric(11,7)
📅
time
Timestamp
123
id
Int
10.03700002014-01-01 01:15:002
20.08000002014-01-01 02:30:005
30.08100002014-01-01 03:00:001
41.48900002014-01-01 05:00:003
50.07200002014-01-01 06:00:005
62.30600002014-01-01 07:15:009
70.10200002014-01-01 07:45:004
80.09700002014-01-01 10:45:008
90.02900002014-01-01 11:00:000
100.50600002014-01-01 11:00:006
110.12900002014-01-01 11:15:005
120.62200002014-01-01 13:00:004
130.27700002014-01-01 13:45:000
140.23500002014-01-01 15:30:009
150.62300002014-01-01 16:45:007
161.35000002014-01-01 17:00:005
170.55900002014-01-01 17:15:001
180.37500002014-01-01 19:15:001
190.54000002014-01-01 22:30:009
200.35800002014-01-02 00:30:002
210.13900002014-01-02 01:30:003
220.05500002014-01-02 02:45:003
230.08600002014-01-02 03:00:006
240.04400002014-01-02 03:30:001
250.07300002014-01-02 03:45:008
260.10000002014-01-02 04:45:007
270.04400002014-01-02 05:30:001
280.04800002014-01-02 06:45:001
290.05500002014-01-02 06:45:005
300.08200002014-01-02 10:15:001
310.32100002014-01-02 10:45:000
320.30500002014-01-02 11:15:000
330.39700002014-01-02 12:30:005
340.35800002014-01-02 13:45:000
350.25400002014-01-02 14:30:004
360.11500002014-01-02 15:30:000
370.18500002014-01-02 15:30:007
380.52400002014-01-02 16:00:008
390.87100002014-01-02 17:45:004
401.03800002014-01-02 19:30:009
411.47800002014-01-02 19:45:006
421.77600002014-01-02 20:15:008
430.09400002014-01-03 00:30:008
440.31300002014-01-03 00:45:006
450.13300002014-01-03 01:45:009
460.06000002014-01-03 02:45:006
470.08500002014-01-03 03:15:009
480.06600002014-01-03 04:30:003
490.06800002014-01-03 04:30:001
500.06700002014-01-03 05:45:008
510.03200002014-01-03 06:30:007
520.08400002014-01-03 07:45:009
530.27200002014-01-03 07:45:002
540.07100002014-01-03 08:30:000
551.50600002014-01-03 09:15:004
560.07400002014-01-03 10:30:009
572.10800002014-01-03 11:00:004
580.10300002014-01-03 12:15:008
590.48900002014-01-03 19:45:007
600.67200002014-01-03 21:30:007
610.59100002014-01-03 22:15:005
621.93800002014-01-03 22:15:001
630.28400002014-01-03 23:30:004
640.13100002014-01-04 01:15:006
651.54600002014-01-04 01:30:001
660.36100002014-01-04 01:45:006
670.38300002014-01-04 02:15:006
680.18500002014-01-04 02:45:005
690.06200002014-01-04 05:45:008
700.26700002014-01-04 06:00:005
710.07700002014-01-04 06:45:008
720.06800002014-01-04 07:30:002
730.30900002014-01-04 07:45:004
740.15300002014-01-04 10:00:008
750.54500002014-01-04 10:45:007
761.26800002014-01-04 11:45:008
770.07600002014-01-04 12:00:002
781.36000002014-01-04 13:30:008
790.28500002014-01-04 17:15:002
800.44700002014-01-04 17:15:009
810.64100002014-01-04 18:00:004
820.82700002014-01-04 22:30:004
830.32300002014-01-04 23:45:000
840.30500002014-01-05 02:15:006
850.11100002014-01-05 04:00:009
860.07500002014-01-05 06:30:009
870.09000002014-01-05 08:00:004
880.16000002014-01-05 08:45:009
890.28100002014-01-05 10:00:003
900.58000002014-01-05 10:15:006
911.13200002014-01-05 11:30:006
920.62500002014-01-05 17:30:004
930.53700002014-01-05 19:45:004
940.54600002014-01-05 19:45:001
950.53900002014-01-05 23:30:009
960.08500002014-01-06 01:15:000
970.08700002014-01-06 02:45:008
980.06900002014-01-06 05:00:003
990.02700002014-01-06 07:45:003
1000.53000002014-01-06 07:45:002
Rows: 1-100 of 11844 | Columns: 3
In [115]:
# Linear interpolation by hour of each smart meter value
sm.asfreq(ts = "time",
          rule = "1 hour",
          method = {"val": "linear"},
          by = ["id"]).head(20)
📅
time
Timestamp
123
id
Int
123
val
Float
12014-01-01 11:00:0000.029
22014-01-01 12:00:0000.119181818181818
32014-01-01 13:00:0000.209363636363636
42014-01-01 14:00:0000.27752380952381
52014-01-01 15:00:0000.279619047619048
62014-01-01 16:00:0000.281714285714286
72014-01-01 17:00:0000.283809523809524
82014-01-01 18:00:0000.285904761904762
92014-01-01 19:00:0000.288
102014-01-01 20:00:0000.290095238095238
112014-01-01 21:00:0000.292190476190476
122014-01-01 22:00:0000.294285714285714
132014-01-01 23:00:0000.296380952380952
142014-01-02 00:00:0000.298476190476191
152014-01-02 01:00:0000.300571428571429
162014-01-02 02:00:0000.302666666666667
172014-01-02 03:00:0000.304761904761905
182014-01-02 04:00:0000.306857142857143
192014-01-02 05:00:0000.308952380952381
202014-01-02 06:00:0000.311047619047619
Out[115]:
Rows: 1-20 of 148189 | Columns: 3

See Also

vDataFrame[].fillna Fills the vcolumn missing values.
vDataFrame[].slice Slices the vcolumn.