7.2.7. Copying a TimeSeries#

This section introduces the ktk.TimeSeries.copy method.

As for most types in Python, a TimeSeries is a mutable type, which means that simply writing ts2 = ts1 does not create a second TimeSeries ts2 based on TimeSeries ts1. Instead, it creates a new variable that addresses the same TimeSeries. As a consequence, modifying ts2 would also modify ts1. To create an independent copy of ts1, we use ts2 = ts1.copy().

Note

This same phenomenon also happens with most Python types, including NumPy arrays and Pandas DataFrames. This is why they also include a copy method.

The ktk.TimeSeries.copy method has different arguments to select which attributes to copy. For instance, if we want to create TimeSeries with the same time and events as another one, but without its data, we would use:

ts2 = ts1.copy(copy_data=False, copy_data_info=False)